本文属于机器翻译版本。若本译文内容与英语原文存在差异,则一律以英文原文为准。
更新Amazon IoT Greengrass核心软件 (OTA)
Amazon IoT GreengrassCore 软件包含 Greengrass nucleus 组件和其他可选组件,您可以将其部署到设备上以执行软件的 over-the-air (OTA) 更新。此功能内置于Amazon IoT Greengrass Core 软件中。
OTA 更新可以更高效地执行以下操作:
-
修复安全漏洞。
-
解决软件稳定性问题。
-
部署新的或改进的功能。
要求
以下要求适用于部署Amazon IoT Greengrass核心软件的 OTA 更新:
-
Greengrass 核心设备必须连接到Amazon Web Services 云才能接收部署。
-
必须正确配置 Greengrass 核心设备并配置证书和密钥,以便使用Amazon IoT Core和进行身份验证Amazon IoT Greengrass。
-
Amazon IoT Greengrass核心软件必须作为系统服务进行设置和运行。如果您从 JAR 文件中运行核心,OTA 更新将不起作用
Greengrass.jar
。有关更多信息,请参阅将 Greengrass 核心配置为系统服务:
核心设备注意事项
在执行 OTA 更新之前,请注意对您更新的核心设备及其连接的客户端设备的影响:
-
Greengrass 核关闭。
-
核心设备上运行的所有组件也将关闭。如果这些组件写入本地资源,除非正确关闭,否则它们可能会使这些资源处于错误状态。组件可以使用进程间通信来告诉 nucleus 组件推迟更新,直到它们清理了所使用的资源。
-
当 nucleus 组件关闭时,核心设备会断开与Amazon Web Services 云和本地设备的连接。核心设备在关闭时不会路由来自客户端设备的消息。
-
作为组件运行的长期 Lambda 函数会丢失其动态状态信息并丢弃所有待处理的工作。
Greengrass 核心更新行为
部署组件时,Amazon IoT Greengrass安装该组件所有依赖项的最新支持版本。因此,如果您向事物组添加新设备或更新针对这些设备的部署,则Amazon提供的公共组件的新补丁版本可能会自动部署到您的核心设备上。某些自动更新(例如 nucleus 更新)可能会导致您的设备意外重启。
当 Greengrass nucleus 组件的版本发生变化时,Amazon IoT GreengrassCore 软件(包括设备上的 nucleus 和所有其他组件)会重新启动以应用更改。由于更新 nucleus 组件会对核心设备产生影响,因此您可能需要控制何时将新的 nucleus 补丁版本部署到您的设备。为此,您必须在部署中包括包括包括GGreengrass g option(购买选项)。直接包含组件意味着您在部署配置中包含该组件的特定版本,并且不依赖组件依赖关系将该组件部署到您的设备上。有关在组件配方中定义依赖关系食谱格式。
查看下表,根据您的操作和部署配置了解 Greengrass nucleus 组件的更新行为。
操作 | 部署配置 | Nucleus 更新行为 |
---|---|---|
向现有部署所针对的事物组添加新设备,而无需修改部署。 | 部署不直接包括Greengrass 核心。 部署直接包括至少一个Amazon提供的组件,或者包含依赖于Amazon提供的组件或 Greengrass 核心的自定义组件。 |
在新设备上,安装符合所有组件依赖关系要求的最新补丁版本的 nucleus。 在现有设备上,不更新已安装的 nucleus 版本。 |
向现有部署所针对的事物组添加新设备,而无需修改部署。 |
部署直接包括Greengrass 核的特定版本。 |
在新设备上,安装指定的 nucleus 版本。 在现有设备上,不更新已安装的 nucleus 版本。 |
创建新部署或修改现有部署。 | 部署不直接包括Greengrass 核心。 部署直接包括至少一个Amazon提供的组件,或者包含依赖于Amazon提供的组件或 Greengrass 核心的自定义组件。 |
在所有目标设备上,安装符合所有组件依赖关系要求的 nucleus 的最新补丁版本,包括在添加到目标事物组的任何新设备上。 |
创建新部署或修改现有部署。 | 部署直接包括Greengrass 核的特定版本。 | 在所有目标设备上,安装指定的 nucleus 版本,包括您添加到目标事物组的任何新设备。 |
执行 OTA 更新
要执行 OTA 更新,请创建包含 n ucleus 组件和要安装的版本的部署。