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

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

修订部署

每个目标事物或事物组一次可以有一个活动部署。当您为已有部署的目标创建部署时,新部署中的软件组件将替换先前部署中的组件。如果新部署未定义先前部署定义的组件 AWS IoT IoT Greengrass 核心软件将从目标核心设备中删除该组件。您可以修改现有部署,以便不会从上一个部署到目标中删除在核心设备上运行的组件。

您可以使用 CreateDeployment 操作来修改部署。此操作与用于创建部署的操作相同。

修改部署 (AWS CLI)

  1. 要修改部署,您需要创建一个部署,该部署定义了与之前的部署相同的组件和配置。运行以下命令列出要修订的目标的部署。Replace targetArn 替换为目标 AWS IoT IoT 事物或事物组的 ARN。

    aws greengrassv2 list-deployments \ --target-arn targetArn

    响应包含包含目标的最新部署的列表。deploymentId 从响应中复制 以在下一步中使用。

    注意

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

  2. 运行以下命令以获取部署的详细信息,包括其元数据、组件和作业配置。Replace deploymentId 替换为上一步中的 ID。

    aws greengrassv2 get-deployment \ --deployment-id deploymentId

    响应包含部署的详细信息。

  3. 创建一个名为 deployment.json 的文件,并将上一命令的响应复制到该文件中。

  4. deployment.json 中的 JSON 对象中删除以下键/值对:

    • deploymentId

    • revisionId

    • iotJobId

    • iotJobArn

    • creationTimestamp

    • isLatestForTarget

    • deploymentStatus

    CreateDeployment 操作需要具有以下结构的负载。

    { "targetArn": "String", "components": Map of components, "deploymentPolicies": DeploymentPolicies, "iotJobConfiguration": DeploymentIoTJobConfiguration, "tags": Map of tags }
  5. deployment.json 中,执行以下任何操作:

    • 更改部署的名称 (deploymentName)。

    • 更改部署的组件 (components)。

    • 更改部署的策略 (deploymentPolicies)。

    • 更改部署的作业配置 (iotJobConfiguration)。

    • 更改部署的标签 (tags)。

    有关如何定义这些部署详细信息的更多信息,请参阅创建部署

  6. 运行以下命令以从 创建部署deployment.json

    aws greengrassv2 create-deployment \ --cli-input-json file://deployment.json

    响应包括标识此部署deploymentId的 。您可以使用部署 ID 检查部署的状态。有关更多信息,请参阅检查部署状态