使用状态模板获取车辆状态快照 - AWS 物联网 FleetWise

本文属于机器翻译版本。若本译文内容与英语原文存在差异,则一律以英文原文为准。

使用状态模板获取车辆状态快照

重要

目前对某些 AWS 物联网 FleetWise 功能的访问受到限制。有关更多信息,请参阅 AWS AWS 物联网中的区域和功能可用性 FleetWise

您可以使用CreateCommand AWS IoT Core 控制平面 API 操作或 AWS 物联网控制 FleetWise 台来获取车辆的最后已知状态。

重要

在以下任何一种情况下都可能发生验证异常:

  • 提供了一个状态模板,该模板不ASSOCIATED包含在车辆上。

  • 有人请求激活状态模板,但该模板尚未出现在车辆DEPLOYED上。

  • 有人向状态模板发出了请求,但它在车辆DELETED上。

您可以使用 AWS 物联网 FleetWise 控制台获取车辆的最后已知状态。 AWS IoT FleetWise 将创建一个命令供您获取数据。

获取车辆的状态
  1. 打开AWS 物联网 FleetWise 控制台

  2. 在导航窗格中,选择车辆

  3. 从列表中选择一辆车以打开其详细信息页面。

  4. 状态模板选项卡上,选择获取数据

  5. 选择向 AWS 物联网授予发送命令和获取数据的 FleetWise 权限的 IAM 角色。请参阅控制访问权限

  6. 选择 “获取状态”。

要获取状态快照,请先创建一个命令资源。然后,您可以向要获取状态快照的车辆发送以下命令。有关使用 CreateCommand API 及其参数的更多信息,请参阅使用 CreateCommand API

  1. 创建命令资源

    以下示例说明如何创建用于执行读取操作的命令资源。向车辆发送命令时,您可以为必填参数指定替代值。有关更多信息,请参阅 创建命令资源

    aws iot create-command \ --command-id <COMMAND_ID> \ --display-name "FetchSnapshot State Template" \ --namespace AWS-IoTFleetWise \ --mandatory-parameters '[ { "name": "$stateTemplate.name", "defaultValue": {"S": "ST123"} }, { "name": "$stateTemplate.operation", "defaultValue": {"S": "fetchSnapshot"} } ]'

    响应:

    { "commandId": "<COMMAND_ID>", "commandArn": "arn:aws:iot:<REGION>:111122223333:command/<COMMAND_ID>" }
  2. 开始执行命令以获取状态快照

    创建命令后,将命令发送到车辆。如果您在创建命令资源时没有为必填参数指定值,则必须立即指定它们。有关更多信息,请参阅 发送命令 (AWS CLI)

    aws iot-jobs-data start-command-execution \ --command-arn arn:aws:iot:region:111122223333:command/<COMMAND_ID> \ --target-arn arn:aws:iot:region:111122223333:thing/<VEHICLE_NAME>

    响应:

    { "executionId": "<UNIQUE_UUID>" }
  3. 检索状态模板操作的状态

    开始执行命令后,您可以使用 GetCommandExecution API 检索状态模板。

    aws iot get-command-execution --execution-id <EXECUTION_ID>