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

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

检查部署状态

您可以检查在其中创建的部署的状态Amazon IoT Greengrass。您也可以检查部署至每台核心设备的Amazon IoT作业的状态。部署处于活动状态时,Amazon IoT任务的状态为IN_PROGRESS。创建部署的新修订版后,先前修订版的Amazon IoT任务状态更改为CANCELLED

检查部署状态

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

按目标检查部署状态 (Amazon CLI)
  • 运行以下命令以检索目标的更新部署的状态。将 TargetArn 替换为部署目标或Amazon IoT事物组的 Amazon 资源名称(ARN)。

    aws greengrassv2 list-deployments --target-arn targetArn

    响应包含一个列表,其中包含目标的最新部署。此部署对象包括部署状态。

通过 ID 检查部署状态 (Amazon CLI)
  • 运行以下命令以检索部署的状态。将 de ploydeploymentId 替换为要查询的部署的 ID。

    aws greengrassv2 get-deployment --deployment-id deploymentId

    响应包含部署状态。

检查设备部署状态

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

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

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

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

检查事物组的部署状态 (Amazon CLI)
  1. 运行以下命令以检索现有部署的 ID。将 TargetArn 替换为目标事物组的 ARN。

    aws greengrassv2 list-deployments --target-arn targetArn

    响应包含一个列表,其中包含目标的最新部署。复制响应deploymentId中的内容,以便在下一步中使用。

    注意

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

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

    aws greengrassv2 get-deployment --deployment-id deploymentId

    响应包含有关部署信的信息。复制响应iotJobId中的内容,以便在后续步骤中使用。

  3. 运行以下命令以描述部署时执行的核心设备的作业的情况。将iotJobIdcoreDeviceThing名称替换为上一步中的任务 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 Amazon Web Services 账户 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 } }