使用状态模板获取车辆状态快照 - AWS IoT FleetWise

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

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

重要

目前对某些 AWS 物联网 FleetWise 功能的访问受到限制。有关更多信息,请参阅 AWSAWS 物联网中的区域和功能可用性 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>:<ACCOUNT_ID>:command/<COMMAND_ID>" }
  2. 开始执行命令以获取状态快照

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

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

    响应:

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

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

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