本文属于机器翻译版本。若本译文内容与英语原文存在差异,则一律以英文原文为准。
Amazon IoT Greengrass V1与Amazon IoT Greengrass V2的区别
Amazon IoT Greengrass V2 为设备、实例集和可部署软件引入了新的基本概念。本节介绍了 V2 中不同于 V1 的概念。
概念 | Amazon IoT Greengrass V1 | Amazon IoT Greengrass V2 |
---|---|---|
应用程序代码 |
在 Amazon IoT Greengrass V1 中,Lambda 函数定义了在核心设备上运行的软件。在每个 Greengrass 组中,您可以定义该函数使用的订阅和本地资源。对于 Amazon IoT Greengrass Core 软件在容器化 Lambda 运行时环境中运行的 Lambda 函数,您可以定义容器参数,例如内存限制。 |
在 Amazon IoT Greengrass V2 中,组件是在核心设备上运行的软件。
您可以将 V1 Lambda 函数作为在 Lambda 运行时环境中运行的组件导入 Amazon IoT Greengrass V2。导入 Lambda 函数时,您需要为该函数指定订阅、本地资源和容器参数。有关更多信息,请参阅 步骤 2:创建和部署 Amazon IoT Greengrass V2 组件以迁移 Amazon IoT Greengrass V1 应用程序。 有关如何创建自定义组件的更多信息,请参阅开发 Amazon IoT Greengrass 组件。 |
Amazon IoT Greengrass 组和部署 |
在 Amazon IoT Greengrass V1 中,一个组定义了核心设备、该核心设备的设置和软件,以及可以连接到该核心设备的 Amazon IoT 事物列表。您可以创建部署以将组的配置发送到核心设备。 |
在 Amazon IoT Greengrass V2 中,您可以使用部署来定义在核心设备上运行的软件组件和配置。
有关更多信息,请参阅 将 Amazon IoT Greengrass 组件部署至设备。 在 Amazon IoT Greengrass V2 中,您还可以使用 Greengrass CLI 创建本地部署,以便在开发自定义软件组件的设备上测试这些组件。有关更多信息,请参阅 创建 Amazon IoT Greengrass 组件。 |
Amazon IoT Greengrass Core 软件 |
在 Amazon IoT Greengrass V1 中,Amazon IoT Greengrass Core 软件是一个包含该软件及其所有功能的单个软件包。您安装 Amazon IoT Greengrass Core 软件的边缘设备称为 Greengrass 核心。 |
在 Amazon IoT Greengrass V2 中,Amazon IoT Greengrass Core 软件是模块化的,因此您可以选择要安装的内容,从而控制内存占用空间。
|
连接器 |
在 Amazon IoT Greengrass V1 中,连接器是您部署到 Amazon IoT Greengrass V1 核心设备的预置模块,用以与本地基础设施、设备协议、Amazon 和其他云服务的交互。 |
在 Amazon IoT Greengrass V2 中,Amazon 提供了 Greengrass 组件,这些组件实现了 V1 中连接器提供的功能。以下 Amazon IoT Greengrass V2 组件提供 Greengrass V1 连接器功能: 有关更多信息,请参阅 Amazon提供的组件。 |
连接的设备(Greengrass 设备) |
在 Amazon IoT Greengrass V1 中,连接的设备是您添加到 Greengrass 组中的 Amazon IoT 事物,用于连接到该组中的核心设备并通过 MQTT 进行通信。每次添加或移除连接的设备时,都必须部署该组。您可以使用订阅在连接的设备、Amazon IoT Core 和核心设备上的应用程序之间中继消息。 |
在 Amazon IoT Greengrass V2 中,连接的设备称为 Greengrass 客户端设备。
在 Amazon IoT Greengrass V1 和 Amazon IoT Greengrass V2 中,设备都可以运行 FreeRTOS,或使用 Amazon IoT Device SDK 或 Greengrass 发现 API 来获取有关其可以连接的核心设备的信息。Greengrass 发现 API 向下兼容,因此,如果您的客户端设备连接到 V1 核心设备,则无需更改代码即可将其连接到 V2 核心设备。 有关客户端设备的更多信息,请参阅与本地 IoT 设备交互。 |
本地资源 |
在 Amazon IoT Greengrass V1 中,在容器中运行的 Lambda 函数可以配置为能够访问核心设备文件系统上的卷和设备。这些文件系统资源称为本地资源。 |
在 Amazon IoT Greengrass V2 中,您可以运行以下组件:Lambda 函数、Docker 容器或本机操作系统进程或自定义运行时。
|
本地影子服务 |
在 Amazon IoT Greengrass V1 中,本地影子服务默认处于启用状态,并且仅支持未命名的经典影子。您可以在 Lambda 函数中使用 Amazon IoT Greengrass Core SDK 与设备上的影子进行交互。 |
在 Amazon IoT Greengrass V2 中,您可以通过部署影子管理器组件来启用本地影子服务。
有关更多信息,请参阅 与设备影子交互。 |
订阅 |
在 Amazon IoT Greengrass V1 中,您可以为 Greengrass 组定义订阅,指定 Lambda 函数、连接器、连接的设备、Amazon IoT Core MQTT 代理和本地影子服务之间的通信渠道。订阅指定 Lambda 函数在何处接收事件消息以作为函数负载。 |
在 Amazon IoT Greengrass V2 中,您可以在不使用订阅的情况下指定通信渠道。
|
访问其他 Amazon Web Services 服务 |
在 Amazon IoT Greengrass V1 中,您将一个名为组角色的 Amazon Identity and Access Management(IAM)角色附加到 Greengrass 组。该组角色定义了该组核心设备上的 Lambda 函数和 Amazon IoT Greengrass 功能用于访问 Amazon Web Services 服务 的权限。 |
在 Amazon IoT Greengrass V2 中,您将 Amazon IoT 角色别名附加到 Greengrass 核心设备。角色别名指向称为令牌交换角色的 IAM 角色。令牌交换角色定义了核心设备上的 Greengrass 组件用于访问 Amazon Web Services 服务 的权限。有关更多信息,请参阅 授权核心设备与 Amazon 服务交互。 |