使用 AWS IoT 软件包目录组织您的 IoT 软件包和版本 上的物联网
使用 AWS IoT 软件包目录组织 IoT 软件包和版本
关键要点
随着连接的物联网 (IoT) 设备数量不断增长,预计到 2030 年将接近 300 亿,管理这些设备的需求也会随之上升。AWS IoT 设备管理服务以及新推出的 AWS IoT 软件包目录功能将帮助用户集中管理软件包和版本,包括固件、操作系统更新、安全补丁等,从而优化设备管理和版本控制。
飞驰加速器永久免费版引言
随着连接的物联网设备数量持续增加,预计到 2030 年将达到近 300 亿,有效管理大规模的设备维护需求将越来越重要。物联网设备管理通常包括向设备部署软件包,其中包含固件、操作系统更新、应用程序、配置和安全补丁等多个版本。 AWS IoT 设备管理 是一种托管服务,帮助用户注册、组织、监控并远程管理不断增长的连接设备。
新功能 软件包目录 允许用户集中注册、存储和报告系统软件包及其版本和元数据。本博客将展示如何使用此功能轻松组织和部署软件包和版本,获取集中洞察,并针对设备进行版本更新。
使用 AWS IoT 软件包目录进行端到端软件包和版本管理
借助此功能及 AWS IoT 设备管理的集成功能,用户可以实施整体的 IoT 设备软件包和版本管理流程。下图 (图 1) 显示了相关步骤:
IoT 设备运维人员使用新软件包目录功能维护软件包及其版本的库存。运维人员可以创建软件包、版本及相关属性以存储版本元数据。在库存创建后,运维人员还可以将软件包版本分配给 IoT 设备。随着软件的更改,可以使用 软件包版本生命周期 状态表示不断变化的版本状态。利用与 AWS IoT 设备管理作业 的集成,可以向车队中的设备部署软件包版本。可以特定针对车队中的个别 IoT 设备或 设备组 部署软件包版本。例如,可以选择向电池电量高于某个值并运行特定软件包和版本的 IoT 设备子集部署新版本或安全更新。AWS IoT 设备管理作业部门执行所需的远程操作,以将新包版本下载并安装到目标设备上。一旦 AWS IoT 设备管理作业成功完成,您的设备将更新关联的 AWS IoT 命名影子,以反映安装在设备上的软件包和版本的更改状态。AWS IoT 设备管理车队索引也利用已保留的 AWS IoT 命名影子作为数据源,确保软件包版本及其汇总度量保持最新,以便您始终可以集中获得软件包和版本的洞察。软件包目录使您更容易地索引、搜索并全面了解设备车队中的软件包版本及其汇总度量。
图 1 使用 AWS IoT 设备管理软件包目录实施整体软件包和版本管理过程
将 AWS IoT 软件包目录集成到现有的软件部署流程中
如果您使用 AWS IoT 核心,并且已经建立了管理 IoT 设备车队的内部流程和工具,请参见图 2,了解新软件包目录功能如何补充并与现有流程集成:
如前所述请参见图 1,IoT 设备运维人员可以使用新软件包目录功能维护软件包及版本的库存。因此,可以将现有软件包、版本和 IoT 设备的关联信息添加到软件包目录中,从而允许集中搜索和汇总这些信息。然后,您可以继续使用既定的内部流程来部署软件包和版本,并添加根据软件包和版本元数据及生命周期状态调度这些部署的能力,以增强现有的内部流程。在成功完成内部部署后,您可以 更新软件包版本信息,将已安装软件包和版本的最终状态存储到 AWS IoT 命名影中,为变更审核和软件包及版本监控功能提供支持。此外,您还可以创建基于事件的集成,以响应部署到车队中的设备软件包和版本的更改。您可以通过订阅相关 AWS IoT 命名影的 MQTT 主题来实现这一点。图 2 将 AWS IoT 软件包目录与现有软件部署过程集成的步骤
现在让我们探索如何使用新功能创建、关联、部署和报告您 IoT 设备车队中的软件包和版本。
前提条件
访问 AWS 帐号一台连接到 AWS IoT 核心 的 IoT 设备为便于测试,可以使用在 Docker 容器中运行的虚拟 AWS IoT 设备客户端。您还可以参考 AWS IoT 入门指南 获取详细的虚拟 IoT 设备设置指导。解决方案演示
在此演示中,我们创建了一个由 10 个相同 IoT 设备组成的示例车队,并平均分配到两个 AWS IoT 静态设备组,以便稍后示范针对软件包版本的部署:
图 3 分配到两个不同静态 AWS IoT 设备组的 10 个 IoT 设备的示例车队
要使用新的 AWS IoT 设备管理软件包目录功能,可以访问 AWS IoT 控制台中的 软件包 部分,如图 4 所示。
图 4 AWS 控制台中的新“软件包”部分
您可以按照 AWS 公共文档中的步骤 创建新的软件包和包版本。在本演示中,我们创建了一个名为 samplePackage01 的示例包。在创建过程中,我们还添加了第一个版本 v100,并将其发布为默认版本。
图 5 创建和发布新软件包“samplePackage01”及其关联的默认包版本“v100”
然后,您可以将已发布的软件包版本与 IoT 设备车队关联。在此示例中,我们希望将 samplePackage01 版本 v100 关联到整车队。例如,这种方法可以用于反映您 IoT 客户端设备预配过程中创建的现有设备软件包基础状态。您可以按照 AWS 公共文档中的步骤 将包版本关联 到您的设备车队,以反映现有的包和版本状态。
图 6 将 AWS IoT 设备与特定软件包版本关联
一旦包版本信息被关联,您可以 使用 AWS IoT 车队索引收集的数据 来搜索和汇总通过软件包目录捕获的信息。图 7 显示整个示例车队现在已与 samplePackage01 版本 v100 关联:
图 7 AWS IoT 设备管理控制台中显示的度量,显示软件包版本与 AWS IoT 设备关联
此外,我们现在可以探索一种场景,需要向部分设备车队部署新包版本,并自动记录更新后的软件包状态信息。例如,这在需要向 IoT 设备推出固件更新或安全补丁时可能是必要的。
由于软件包目录功能与 AWS IoT 设备管理作业 集成,您可以自动执行相关的软件包部署操作并远程执行。根据前面描述的过程,我们创建并发布了一个新包版本 v200。图 8 显示了一个新的自定义作业配置,以基于所选的设备组 thinggroup1 将新创建的 samplePackage01 版本 v200 部署到所选设备的子集:
图 8 创建一个与 AWS IoT 设备管理软件包目录集成的新的 AWS IoT 作业,以将包版本部署到目标 AWS IoT 设备组
具体而言,您可以在 与软件包目录服务的作业集成选项 中使用提供的新选项,定义作业完成后要执行的软件包版本信息更新。一旦作业创建并成功完成,更新后的包版本关联信息将在发现控制台中反映,如图 9 所示:
图 9 当前版本分布和历史图表在发现控制台中
版本分布信息已通过保留的 AWS IoT 命名影动态更新,这提供了自动化软件包版本数据管理的能力,除了之前描述的手动关联工作流外,如图 10 所示:
图 10 保留的命名影报告软件包“samplePackage01”版本v200的更新版本信息
除了 AWS 控制台之外,您还可以直接使用 AWS IoT API 或 AWS CLI 管理软件包和软件包版本。
结论
AWS IoT 设备管理软件包目录现在可以与连接到 AWS IoT 核心的设备一起使用。新功能使得在集成方式中集中维护软件包及其版本的库存变得更为简单。

您可以将软件包版本关联到单个设备和 AWS IoT 动态设备组,并使用内部软件部署流程或 AWS IoT 设备管理作业 进行部署。立即注册 AWS 帐号,并参考 技术文档 快速入门。
作者介绍
Ryan Dsouza
Ryan Dsouza 是 AWS 的 IoT 解决方案架构师。在纽约市工作的 Ryan 帮助客户设计、开发和运营更安全、可扩展和创新的解决方案,利用 AWS 能力实现可衡量的业务成果。Ryan 在数字平台、智能制造、能源管理、大楼和工业自动化以及 OT/IIoT 安全等多个行业有超过 25 年的经验。在加入 AWS 之前,Ryan 曾在埃森哲、西门子、通用电气、IBM 和 AECOM 工作,服务于客户的数字化转型项目。
Maxim Chernyshev
[Maxim Chernyshev](https//wwwlinkedincom/in/maximchernyshev
现代化供应链管理的挑战与机遇关键要点供应链管理SCM在应对企业挑战与过渡到可持续发展中扮演重要角色。企业需从传统方式转向更具前瞻性的供应链现代化策略。利用先进技术如人工智能与大数据分析增强供应链的弹性与效率。在与客户的对话中,供应链管理SCM已成为一个几乎恒定的话题,和人员及敏捷性同样重要。在过去两...