AWS IoT Greengrass:核心软件的 OTA 更新
AWS IoT Greengrass 核心软件打包了一个代理,此代理可以将核心的软件或代理本身更新到最新版本。这些更新通过无线 (OTA) 方式发送。
在对 Greengrass 核心软件启动 OTA 更新之前,要注意该操作对 Greengrass 组中设备的影响,不仅影响核心设备,还会影响在本地连接至该核心的客户端设备:
- 核心在更新期间会关闭。
- 在核心上运行的任何 Lambda 函数都将关闭。如果这些函数写入到本地资源,除非正常关闭,否则它们可能会导致这些资源的状态不正确。
- 在核心的停机时间内,与 AWS 云的所有连接都将丢失。客户端设备通过核心路由的消息将丢失。
- 凭证缓存会丢失。
- 容纳 Lambda 函数的待处理工作的队列将丢失。
- 长时间生存的 Lambda 函数将丢失其动态状态信息,并且将丢弃所有待处理工作。
OTA 更新期间保留以下状态信息:
- 本地影子
- Greengrass 日志
- OTA 更新代理日志
创建角色
- 从控制面板选择IAM。
-
选择面板左边中(角色),并(创建角色)。
-
在AWS产品中选择IoT,然后点击(下一步:权限)。
-
默认,直接点击(下一步:标签)。
-
标签选项可以为空,直接点击(下一步:审核)。
-
添加角色名称TestRole,然后点击(创建角色)。
-
点击刚刚创建的角色,进入设置界面,选择附加策略。
-
在附加策略中选择管理员策略,然后点击右下角按钮(附加策略)。
创建OTA更新
-
在控制台界面选择(管理)下面的(任务),选择(创建)。
-
选择(创建核心更新作业)。
-
配置OTA更新:
- 选择更新的设备:选择自己创建的核心。
- S3 URL签署人角色:选择刚刚创建的角色。
- 更新代理日志:选择无
- 架构类型:根据操作系统选择。
- ubuntu/x86_64
- ubuntu/aarch64
- amazon_linux/x86_64
- raspbian/armv7l
- raspbian/armv6l
- openwrt/aarch64
- openwrt/armv7l
-
选择(创建)。