AWS IoT Greengrass Version 1 2023 年 6 月 30 日进入延长寿命阶段。有关更多信息,请参阅 AWS IoT Greengrass V1 维护策略。在此日期之后,将 AWS IoT Greengrass V1 不会发布提供功能、增强功能、错误修复或安全补丁的更新。在上面运行的设备 AWS IoT Greengrass V1 不会中断,将继续运行并连接到云端。我们强烈建议您迁移到 AWS IoT Greengrass Version 2,这样可以添加重要的新功能并支持其他平台。
本文属于机器翻译版本。若本译文内容与英语原文存在差异,则一律以英文原文为准。
对于 AWS IoT Greengrass 的 AWS CloudFormation 支持
AWS CloudFormation 是一项服务,可帮助您创建、管理和复制您的 AWS 资源。您可以使用 AWS CloudFormation 模板来定义要部署的 AWS IoT Greengrass 组和客户端设备、订阅及其他组件。有关示例,请参阅示例 模板。
您从模板中生成的资源和基础设施称为堆栈。您可以在一个模板中定义所有资源,也可以引用其他堆栈中的资源。有关 AWS CloudFormation 模板和功能的更多信息,请参阅 AWS CloudFormation 用户指南中的什么是 AWS CloudFormation?。
创建 资源
AWS CloudFormation 模板是描述 AWS 资源的属性和关系的 JSON 或 YAML 文档。支持以下 AWS IoT Greengrass 资源:
组
内核
客户端设备(设备)
Lambda 函数
连接器
资源(本地、机器学习和密钥)
订阅
日志记录程序(日志记录配置)
在 AWS CloudFormation 模板中,Greengrass 资源的结构和语法基于 AWS IoT Greengrass API。例如,示例模板将一个顶级 DeviceDefinition
与包含单个客户端设备的 DeviceDefinitionVersion
关联。有关更多信息,请参阅 AWS IoT Greengrass 组对象模型概述。
《AWS CloudFormation 用户指南》中的 AWS IoT Greengrass资源类型参考介绍了您可以通过 AWS CloudFormation 管理的 Greengrass 资源。当您使用 AWS CloudFormation 模板创建 Greengrass 资源时,我们建议您仅从 AWS CloudFormation 管理这些资源。例如,如果您要添加、更改或删除设备,则应更新您的模板(而不是使用 AWS IoT Greengrass API 或 AWS IoT控制台)。这允许您使用回滚及其他 AWS CloudFormation 更改管理功能。有关使用AWS CloudFormation 创建和管理资源和堆栈的更多信息,请参阅《AWS CloudFormation 用户指南》中的使用堆栈。
有关演示如何在 AWS CloudFormation 模板中创建和部署 AWS IoT Greengrass 资源的演练,请参阅 AWS 物联网官方博客上的使用 AWS CloudFormation 实现 AWS IoT Greengrass 设置自动化
部署资源
在创建包含组版本的 AWS CloudFormation 堆栈后,您可以使用 AWS CLI 或 AWS IoT控制台部署它。
注意
要部署组,您必须具有与您的 AWS 账户 关联的 Greengrass 服务角色。该服务角色允许 AWS IoT Greengrass 访问您在 AWS Lambda 和其他 AWS 服务中的资源。如果您已在当前 AWS 区域 中部署了 Greengrass 组,则该角色应存在。有关更多信息,请参阅 Greengrass 服务角色。
- 部署组 (AWS CLI)
-
-
运行 create-deployment 命令。
aws greengrass create-deployment --group-id
GroupId
--group-version-idGroupVersionId
--deployment-type NewDeployment注意
示例模板中的
CommandToDeployGroup
语句显示了在创建堆栈时应如何使用您的组和组版本 ID 来输出命令。
-
- 部署组(控制台)
-
在 AWS IoT 控制台导航窗格的管理下,展开 Greengrass 设备,然后选择组 (V1)。
选择您的组。
-
在组配置页面上,选择部署。
示例 模板
以下示例模板创建一个包含核心、客户端设备、功能、日志记录程序、订阅和两种资源的 Greengrass 组。为此,该模板采用 AWS IoT Greengrass API 的对象模型。例如,要添加到组的客户端设备包含在 DeviceDefinitionVersion
资源中,而后者与 DeviceDefinition
资源关联。要将设备添加到组,组版本将引用 DeviceDefinitionVersion
的 ARN。
该模板包含的参数可让您指定核心和设备的证书 ARN 以及源 Lambda 函数(这是一种 AWS Lambda 资源)的版本 ARN。该模板使用 Ref
和 GetAtt
内部函数引用创建 Greengrass 资源所需的 ID、ARN 和其他属性。
该模板还定义了两个 AWS IoT 设备(事物),这表示要添加到 Greengrass 组的核心和客户端设备。
在使用您的 Greengrass 资源创建堆栈后,您可以使用 AWS CLI 或 AWS IoT 控制台来部署组。
注意
该示例中的 CommandToDeployGroup
语句说明如何输出可用于部署组的完整 create-deployment CLI 命令。
支持 AWS 区域
目前,您仅可以在以下 AWS 区域 中创建并管理 AWS IoT Greengrass 资源。
美国东部(俄亥俄)
美国东部(弗吉尼亚州北部)
美国西部(俄勒冈州)
亚太地区(孟买)
亚太地区(首尔)
亚太地区(新加坡)
亚太地区(悉尼)
亚太地区(东京)
中国(北京)
欧洲地区(法兰克福)
欧洲地区(爱尔兰)
欧洲地区(伦敦)
AWS GovCloud (美国西部)