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

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

将 AWS AWS IoT Greengrass 组件部署到设备

您可以使用 AWS AWS IoT Greengrass 将组件部署到单个设备或设备组。利用 部署,您可以定义要部署到核心设备的 AWS AWS IoT Greengrass 组件和配置。AWS AWS IoT Greengrass 部署到目标设备,这些设备是表示 Greengrass 核心设备的 AWS AWS IoT 事物或事物组。AWS AWS IoT Greengrass 使用 AWS IoT IoT Core 作业部署到您的核心设备,因此您可以配置作业如何推广到您的设备。

每个核心设备从以设备为目标的部署运行 软件的组合。但是,到同一目标的部署将覆盖之前对该目标的部署。在创建部署时,您可以定义要应用于核心设备现有软件的组件和配置。在修改目标的部署时,将上一个修订中的组件替换为新修订中的组件。例如,您将组件 AB 部署到事物组 X。然后,您将组件 BC 部署到不同的事物组 Y。因此,组件 ABC 全部在属于两个组的成员的任何核心设备上运行。然后,创建另一个仅指定组件 X 的部署到事物组B。因此,该组中的核心设备不再运行组件 A

注意

当您从事物组中删除核心设备时 AWS IoT IoT Greengrass 不会从设备中删除该事物组的组件。因此,我们建议您不要从部署组件的事物组中删除核心设备。

要从设备中删除组件(其中设备不再是部署该组件的事物组的成员),请使用 Greengrass CLI 的部署创建命令。使用 --remove 参数指定要删除的组件,并使用 --groupId 参数指定事物组。

部署是连续的。创建部署时 AWS IoT IoT Greengrass 会将部署推出到在线的目标设备。如果目标设备未联机,则下次连接到 AWS AWS IoT Greengrass 时会收到部署。当您将核心设备添加到目标事物组时 AWS IoT IoT Greengrass 会向设备发送该事物组的最新部署。

每个目标事物或事物组一次可以有一个部署。这意味着,当您为目标创建部署时 AWS IoT IoT Greengrass 不再部署该目标的部署的先前版本。

部署提供了多个选项,用于控制哪些设备接收更新以及如何部署更新。创建部署时,您可以配置以下选项:

  • AWS IoT Greengrass 组件

    定义要在目标设备上安装和运行的组件。AWS AWS IoT Greengrass 组件是您在 Greengrass 核心设备上部署和运行的软件模块。只有在组件支持设备的平台时,设备才会接收组件。这样,您就可以将 部署到设备组,即使目标设备在多个平台上运行也是如此。如果组件不支持设备的平台,则组件不会部署到设备。

    您可以将自定义组件和 AWS 提供的组件部署到您的设备。当您部署组件时 AWS IoT IoT Greengrass 会标识所有组件依赖项并部署它们。有关更多信息,请参阅管理 AWS IoT Greengrass 组件

    您可以定义要为每个组件部署的版本和配置更新。配置更新指定如何修改核心设备上的组件的现有配置,或者,如果核心设备上不存在组件,则指定组件的默认配置。您可以指定要重置为默认值的配置值以及要合并到核心设备上的新配置值。有关更多信息,请参阅更新组件配置

    重要

    当您部署组件时 AWS IoT IoT Greengrass 会安装该组件的所有组件依赖项的最新受支持版本。因此,如果您将新设备添加到事物组,或者更新针对这些设备的部署,则 AWS 提供的公有组件的新修补版本可能会自动部署到您的核心设备。一些自动更新(例如,核心更新)可能会导致您的设备意外重新启动。

    为防止对设备上运行的组件进行意外更新,我们建议您在创建部署时直接包含该组件的首选版本。有关 AWS AWS IoT Greengrass 核心软件的更新行为的更多信息,请参阅更新 AWS IoT Greengrass 核心软件 (OTA)

  • 部署策略

    定义何时可以安全地部署配置以及在部署失败时执行什么操作。您可以指定是否等待组件报告它们可以更新。您还可以指定在设备应用失败的部署时是否回滚设备以前的配置。

  • 停止配置

    定义何时以及如何停止部署。如果满足您定义的条件,则部署将停止并失败。例如,您可以配置一个部署,以便在设备接收部署的最小数量后,有一部分设备无法应用该部署时停止部署。

  • 推广配置

    定义部署推出到目标设备的速率。您可以配置在最小和最大速率边界内提高的指数速率。

  • 超时配置

    定义每个设备必须应用部署的最长时间。如果设备超过您指定的持续时间,则设备无法应用部署。

重要

自定义组件可以在 S3 存储桶中定义构件。当 AWS AWS IoT Greengrass 核心软件部署组件时,它会从 AWS 云下载组件的构件。默认情况下,核心设备角色不允许访问 S3 存储桶。要部署在 S3 存储桶中定义构件的自定义组件,核心设备角色必须授予从该存储桶下载构件的权限。有关更多信息,请参阅允许访问组件工件的 S3 存储桶