检查部署状态 - Amazon IoT Greengrass
Amazon Web Services 文档中描述的 Amazon Web Services 服务或功能可能因区域而异。要查看适用于中国区域的差异,请参阅中国的 Amazon Web Services 服务入门

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

检查部署状态

您可以检查在中创建的部署的状态Amazon IoT Greengrass. 您也可以查看Amazon IoT将部署部署部署部署部署到每个核心设备。当部署处于活动状态时,Amazon IoT作业的状态为IN_PROGRESS. 创建部署的新修订后,先前修订版本的状态Amazon IoT作业更改为CANCELLED.

检查部署状态

您可以检查通过目标或 ID 标识的部署的状态。

按目标检查部署状态 (Amazon CLI)
  • 运行以下命令以检索目标的最新部署的状态。ReplacetargetArn使用的 Amazon 资源名称 (ARN)Amazon IoT部署目标的事物或事物组。

    aws greengrassv2 list-deployments --target-arn targetArn

    响应包含包含目标的最新部署的列表。此部署对象包含部署的状态。

按 ID 检查部署状态 (Amazon CLI)
  • 运行以下命令以检索部署的状态。ReplaceDdeploymentId使用要查询的部署的 ID。

    aws greengrassv2 get-deployment --deployment-id deploymentId

    响应包含部署的状态。

检查设备部署状态

您可以查看应用于单个核心设备的部署任务的状态。您还可以检查事物组部署的部署作业的状态。

要检查核心设备的部署作业状态 (Amazon CLI)
  • 运行以下命令以检索核心设备的所有部署任务的状态。ReplacecoreDeviceName使用要查询的核心设备的名称。

    aws greengrassv2 list-effective-deployments --core-device-thing-name coreDeviceName

    响应包含核心设备的部署作业列表。您可以通过作业的deploymentId要么targetArn. 每个部署任务包含核心设备上任务的状态。

要检查事物组的部署状态(Amazon CLI)
  1. 运行以下命令以检索现有部署的 ID。ReplacetargetArn使用目标事物组的 ARN。

    aws greengrassv2 list-deployments --target-arn targetArn

    响应包含包含目标的最新部署的列表。复制deploymentId(响应),以供下一步使用。

    注意

    您还可以列出目标的最新部署以外的部署。指定--history-filter ALL参数列出目标的所有部署。然后,复制要检查其状态的部署的 ID。

  2. 运行以下命令以获取部署的详细信息。ReplaceDeploym使用上一步中的 ID。

    aws greengrassv2 get-deployment --deployment-id deploymentId

    响应包含有关部署的信息。复制iotJobId来自响应,以便在接下来的步骤中使用。

  3. 运行以下命令以描述核心设备为部署执行任务。ReplaceiotJobIdcoreDeviceThing名称使用上一步骤中的作业 ID 和要检查其状态的核心设备。

    aws iot describe-job-execution --job-id iotJobId --thing-name coreDeviceThingName

    响应包含核心设备部署任务执行的状态以及有关状态的详细信息。这些区域有:detailsMap包含以下信息:

    • detailed-deployment-status— 部署结果状态,可以为以下状态之一:

      • SUCCESSFUL— 部署成功。

      • FAILED_NO_STATE_CHANGE— 核心设备准备应用部署时部署失败。

      • FAILED_ROLLBACK_NOT_REQUESTED— 部署失败,部署未指定回滚到以前的工作配置,因此核心设备可能无法正常运行。

      • FAILED_ROLLBACK_COMPLETE— 部署失败,核心设备成功回滚到以前的工作配置。

      • FAILED_UNABLE_TO_ROLLBACK— 部署失败,核心设备无法回滚到以前的工作配置,因此核心设备可能无法正常工作。

      如果部署失败,请检查deployment-failure-cause值和核心设备的日志文件来识别问题。有关如何访问核心设备日志文件的更多信息,请参见监控Amazon IoT Greengrass日志.

    • deployment-failure-cause— 提供有关作业执行失败原因的其他详细信息的错误消息。

    响应类似于以下示例。

    { "execution": { "jobId": "2cc2698a-5175-48bb-adf2-1dd345606ebd", "status": "FAILED", "statusDetails": { "detailsMap": { "deployment-failure-cause": "No local or cloud component version satisfies the requirements. Check whether the version constraints conflict and that the component exists in your AWS account with a version that matches the version constraints. If the version constraints conflict, revise deployments to resolve the conflict. Component com.example.HelloWorld version constraints: LOCAL_DEPLOYMENT requires =1.0.0, thinggroup/MyGreengrassCoreGroup requires =1.0.1.", "detailed-deployment-status": "FAILED_NO_STATE_CHANGE" } }, "thingArn": "arn:aws:iot:us-west-2:123456789012:thing/MyGreengrassCore", "queuedAt": "2022-02-15T14:45:53.098000-08:00", "startedAt": "2022-02-15T14:46:05.670000-08:00", "lastUpdatedAt": "2022-02-15T14:46:20.892000-08:00", "executionNumber": 1, "versionNumber": 3 } }