使用 亚马逊云科技 IoT 软件包目录整理您的 IoT 软件包和版本
简介
随着互联物联网设备数量的持续增长,预计到
使用 亚马逊云科技 IoT 软件包目录进行端到端软件包和版本管理
您可以使用 亚马逊云科技 IoT Device Management 的这一功能和集成功能来实施整体的 IoT 设备软件包和版本管理流程。图 1 显示了相关的流程步骤:
- 物联网设备机群运营商使用新的软件包目录功能来维护软件包及其版本的清单。操作员可以创建软件包、版本和相关的版本属性来存储版本元数据。创建库存后,运营商还可以为您的物联网设备分配软件包版本。随着软件的变化,您可以使用软件
包版本生命周期 状态来表示不断变化的软件包版本状态。 - 由于软件包目录与
亚马逊云科技 IoT Device Management 舰队索引 集成,您可以搜索和汇总软件包和版本信息,以便集中全面了解包版本和集群中的汇总指标。 - 您可以使用与
亚马逊云科技 IoT Device Management Job s 的集成,在您的队列中部署软件包版本。您可以将队列 中的特定物联网设备或设备组 作为目标,将软件包版本部署到选定的设备。例如,您可能希望将新版本或安全更新部署到机群的子集,例如电池寿命大于一定百分比值且运行特定软件包和版本的物联网设备。 - 亚马逊云科技 IoT Device Management Jobs 执行所需的远程操作,将新的软件包版本下载并安装到目标设备。
- 亚马逊云科技 IoT 设备管理任务成功完成后,您的设备会更新相关的保留
亚马逊云科技 IoT Named Shadow , 以反映设备上安装的软件包和版本的变化状态。 - 亚马逊云科技 IoT Device Management 舰队索引还使用预留的 亚马逊云科技 IoT Named Shadow 作为数据源,以保持您的包版本和汇总指标处于最新状态,因此您可以继续集中获取套餐和版本见解。

图 1。使用 亚马逊云科技 IoT Device Management 软件包目录进行整体软件包和版本管理流程
将 亚马逊云科技 IoT 软件包目录与既定的内部软件部署流程集成
如果您使用 亚马逊云科技 IoT Core 并且已经建立了管理您的 IoT 设备队列的内部流程和工具,请参阅图 2,该图显示了新的软件包目录功能如何补充您的现有流程并与之集成:
- 如前所述(请参阅图 1),物联网设备机群运营商可以使用新的软件包目录功能来维护软件包及其版本的清单。因此,您可以将现有的软件包、版本和物联网设备关联信息添加到软件包目录中,从而可以集中搜索和汇总这些信息。
- 然后,您可以继续使用既定的内部流程来部署软件包和版本,还可以根据软件包和版本元数据以及软件包版本生命周期状态来安排这些部署,以增强现有的内部流程。
- 成功完成内部部署后,您可以 通过将已安装软件
包和版本的结果状态存储到保留的 亚马逊云科技 IoT Named Shadow 来 更新软件包版本信息 ,从而提供变更审计、软件包和版本监控功能。此外,您可以与其他 亚马逊云科技 服务创建事件驱动的集成,以响应部署到您的队列的设备包和版本的变化。您可以通过订阅相关的 亚马逊云科技 IoT 命名 Shadow MQTT 主题来实现这一点。

图 2。将 亚马逊云科技 IoT 软件包目录与既定的内部软件部署流程集成的步骤
现在,让我们探讨如何使用新功能来创建、关联、部署和报告物联网设备群中的软件包和版本。
先决条件
- 访问 A
WS 账户 - 连接到
亚马逊云科技 IoT Core 的物联网 设备 - 为了便于测试,您可以使用在
Docker 容器中 运行的虚拟亚马逊云科技 IoT 设备客户端 。 - 您也可以参阅
亚马逊云科技 IoT 入门 研讨会, 了解 有关设置虚拟 IoT 设备的详细指南。
- 为了便于测试,您可以使用在
解决方案演练
在本演练中,我们创建了一个由 10 台相同的 IoT 设备组成的示例队列,平均分配到两个

图 3。分配给两个不同静态 亚马逊云科技 IoT 事物组的 10 台 IoT 设备的示例队列
要使用新的 亚马逊云科技 IoT Device Management

图 4。亚马逊云科技 控制台中新的 “软件包” 部分
您可以按照 亚马逊云科技 公共文档中列出的步骤
am
plePackage01 的示例包。在创建过程中,我们还添加了第一个版本 v1.0.0
并将其作为默认版本发布。

图 5。创建和发布新的软件包 “SamplePackage01” 和相关的默认软件包版本 “v1.0.0”
然后,您可以将已发布的软件包版本与您的 IoT 设备群相关联。在此示例中,我们想将 SamplePackage01
版本 v1.
0.0 与整个舰队关联起来。例如,此方法可用于反映在物联网客户端设备配置过程中创建的现有设备软件包基准状态。您可以按照 亚马逊云科技 公共文档中列出的步骤

图 6。将 亚马逊云科技 IoT 事物与特定的软件包版本相关联
关联软件包版本信息后,
图 7 显示,整个示例队列现已与
SamplePackage
01 版本 v1.0.0 相关联:

图 7。亚马逊云科技 IoT Device Management 控制台中显示的指标显示了包版本与 亚马逊云科技 IoT 事物的关联
此外,我们现在可以探索一种场景,即我们需要将新的软件包版本部署到设备群的子集,并自动记录更新的软件包状态信息。例如,在您需要为物联网设备推出固件更新或安全补丁的情况下,这可能是必要的。
由于软件包目录功能已与
v2.
0.0。 图 8 显示了一个新的自定义作业配置,用于根据所选的事物组 thing-group-1 将新创建的
SamplePackage01
版本 v2.0.0
部署 到选定的设备子集:

图 8。创建与 亚马逊云科技 IoT 设备管理软件包目录集成的新 亚马逊云科技 IoT 任务,将软件包版本部署到目标 亚马逊云科技 IoT 事物组
具体而言,您可以使用 作业与软件包目录服务集成 部分中提供的新选项来定义作业成功完成后要对包版本信息执行的更新。创建并完成任务后,更新的包版本关联信息将反映在发现控制台中,如图 9 所示:

图 9。Discovery 控制台中的当前版本分布和历史图表
版本分发信息已通过预留的 亚马逊云科技 IoT Named Shadow 动态更新,除了前面描述的手动关联工作流程外,它还能够自动管理软件包版本数据,如图 10 所示:

图 10。成功完成 亚马逊云科技 IoT 任务后,名为 Shadow 的保留名为 Shadow 会报告 SamplePackage01 版本 v2.0.0 的更新版本信息
除了 亚马逊云科技 控制台外,您还可以 直接使用
结论
亚马逊云科技 IoT 设备管理软件包目录现在可用于连接到 亚马逊云科技 IoT Core 的设备。这项新功能可以更轻松地以集成的方式集中维护软件包及其版本的清单。
您可以将包版本与单个事物和 亚马逊云科技 IoT 动态事物组关联起来,并使用内部软件部署流程或 A