为什么要使用金色图像? - AWS 规范性指导

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

为什么要使用金色图像?

在出厂时使用金色映像对设备进行编程的原因有很多。

如果您计划大规模制造 AWS IoT Greengrass 设备,则可能会认为在生产线上为每台设备执行 AWS IoT Greengrass 云部署是有问题的。您的原因可能包括:

  • 速度太慢了:为每台设备执行部署所需的时间可能会影响您的生产线生产率。

  • 没有互联网连接:合同制造商有时在生产线上没有互联网连接,因此甚至可能无法进行云部署。

  • 互联网连接时断时续:即使名义上有互联网连接,您的公司也可能要求您的生产线不要因为暂时中断连接而停滞不前,因此云部署可能不是理想的。

如果您选择不在生产线上进行 AWS IoT Greengrass 部署,则可以在未安装任何应用程序组件的情况下出厂设备。但是,由于以下原因,您的设备可能仍需要在制造过程中安装应用程序组件:

  • 出厂验收测试 (FAT):作为质量保证 (QA) 流程的一部分,您可能需要对每台设备进行 FAT 或对设备进行采样。您的设备可能拥有自己的特定领域的 I/O 和接口,只有当您的设备处于完全工作状态并运行您自己的应用程序软件时,才能对其进行测试。

  • 现场互联网连接不可靠:当您的设备在现场安装或拆箱时,您无法确定其环境中是否有互联网连接。因此,您不能依靠云部署将设备置于完全工作状态。

  • 设备需要立即工作:即使互联网连接可靠,您的设备在现场首次拆箱时也可能必须处于完全运行状态,并且无法等待首次云部署完成。

  • 蜂窝网络数据费用:您的设备可能具有蜂窝网络连接,在现场初始云部署期间下载所有应用程序组件可能会产生高昂的成本。

因此, AWS IoT Greengrass 设备制造时通常需要部分或完全安装和配置应用程序组件,但可能无法使用 AWS IoT Greengrass 云部署。本指南讨论如何实现该目标。

使用 Greengrass CLI 代替黄金映像

使用黄金映像的另一种方法是,通过自动安装 Greengrass 运行时,然后使用 Greengrass 命令行界面 (CLI) 自动安装组件,在每台设备上本地编写软件映像。但是:

  • 你需要先在离线环境中安装 Greengrass CLI。尽管这种类型的安装是可能的,但没有记录在案的程序。

  • 您需要收集和整理所有组件工件和配方,并在生产线上提供它们。

  • 您需要使用 Greengrass CLI 本地部署命令来部署每个组件。

  • 在本地部署中使用groupId和组件版本时,您需要小心,以确保后续的云部署不会发生冲突。

  • 如果现场不需要在您的设备上安装 Greengrass CLI,则通常会在最后一步将其删除。

总体而言,Greengrass CLI 方法比黄金映像更慢,更容易出错。