Amazon IoT Greengrass V1与Amazon IoT Greengrass V2的区别 - Amazon IoT Greengrass
Amazon Web Services 文档中描述的 Amazon Web Services 服务或功能可能因区域而异。要查看适用于中国区域的差异,请参阅中国的 Amazon Web Services 服务入门

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

Amazon IoT Greengrass V1与Amazon IoT Greengrass V2的区别

Amazon IoT Greengrass V2为设备、舰队和可部署软件引入了新的基本概念。本节介绍了 V2 中不同的 V1 概念。

Greengrass
概念 Amazon IoT Greengrass V1 Amazon IoT Greengrass V2

应用程序代码

在中Amazon IoT Greengrass V1,Lambda 函数定义了在核心设备上运行的软件。在每个 Greengrass 组中,您可以定义该函数使用的订阅和本地资源。对于Amazon IoT Greengrass核心软件在容器化 Lambda 运行时环境中运行的 Lambda 函数,您可以定义容器参数,例如内存限制。

在中Amazon IoT Greengrass V2,组件是在核心设备上运行的软件模块。

  • 每个组件都有一个配方,用于定义组件的元数据、参数、依赖关系和脚本,以便在组件生命周期的每个步骤中运行。

  • 该配方还定义了组件的工件,即二进制文件,例如脚本、编译后的代码和静态资源。

  • 将组件部署到核心设备时,核心设备会下载组件配方和工件以运行该组件。

您可以将 V1 Lambda 函数导入为在 Lambda 运行时环境中运行的组件Amazon IoT Greengrass V2。导入 Lambda 函数时,您需要为该函数指定订阅、本地资源和容器参数。有关更多信息,请参阅 第 2 步:创建和部署Amazon IoT Greengrass V1用于迁移应用程序的Amazon IoT Greengrass V2组件

开发Amazon IoT Greengrass组件

Amazon IoT Greengrass群组和部署

在中Amazon IoT Greengrass V1,一个组定义了核心设备、该核心设备的设置和软件以及可以Amazon IoT连接到该核心设备的设备列表。您可以创建部署以将群组的配置发送到核心设备。

在中Amazon IoT Greengrass V2,您可以使用部署来定义在核心设备上运行的软件组件和配置。

  • 每个部署都以单核设备(即Amazon IoT事物)或可以包含多个核心设备Amazon IoT的事物组为目标。

  • 对事物组的部署是连续的,因此,当您将核心设备添加到事物组时,它会收到该组的软件配置。

有关更多信息,请参阅 部署Amazon IoT Greengrass组件到设备

在中Amazon IoT Greengrass V2,您还可以使用 Greengrass CLI 创建本地部署,在开发自定义软件组件的设备上测试这些组件。有关更多信息,请参阅 CreateAmazon IoT Greengrass组件

Amazon IoT Greengrass Core 软件

在中Amazon IoT Greengrass V1,Amazon IoT GreengrassCore 软件是一个包含该软件及其所有功能的单一软件包。安装Amazon IoT Greengrass核心软件的边缘设备被称为 Greengrass 内核。

在中Amazon IoT Greengrass V2,Amazon IoT GreengrassCore 软件是模块化的,因此您可以选择安装什么来控制内存占用。

  • Greengrass 核心组件是Amazon IoT Greengrass核心软件的最低安装要求。安装核的边缘设备被称为 Greengrass 核心设备。

  • 核心负责核心设备上其他组件的部署、编排和生命周期管理。

  • 流管理器、密钥管理器和日志管理器等功能是只有在需要这些功能时才部署的组件。有关更多信息,请参阅 Amazon-提供的组件

连接器

在中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 客户端设备。

  • 您可以将客户端设备关联到核心设备以连接它们并通过 MQTT 进行通信。

  • 要授权客户端设备进行连接,您需要定义可以应用于客户端设备组的授权策略,因此您无需创建部署即可添加或删除客户端设备。

  • 要在客户端设备和 Greengrass 组件之间中继消息,您可以配置可选的 MQTT 桥接组件。Amazon IoT Core

在Amazon IoT Greengrass V1和中Amazon IoT Greengrass V2,设备可以运行 FreeRTOS 或使用Amazon IoT Device SDK或 Greengrass discover y API 来获取有关可连接的核心设备的信息。Greengrass discovery API 向后兼容,因此,如果您的客户端设备连接到 V1 核心设备,则无需更改其代码即可将其连接到 V2 核心设备。

与本地 IoT 设备互动

Local

在中Amazon IoT Greengrass V1,可以将容器中运行的 Lambda 函数配置为访问核心设备文件系统上的卷和设备。这些文件系统资源被称为本地资源。

在中Amazon IoT Greengrass V2,您可以运行 Lambda 函数、D ocker 容器原生操作系统进程或自定义运行时的组件。

  • 将容器化 Lambda 函数作为组件导入时,必须指定该函数使用的本地资源。

  • 非容器化 Lambda 函数和非 Lambda 组件可以直接使用核心设备上的本地资源,因此您无需指定该组件使用的本地资源。

Local Sadow

在中Amazon IoT Greengrass V1,本地阴影服务默认处于启用状态,并且仅支持未命名的经典阴影。您可以在 Lambda 函数中使用Amazon IoT Greengrass核心 SDK 与设备上的影子进行交互。

在中Amazon IoT Greengrass V2,您可以通过部署影子管理器组件来启用本地影子服务。

  • 您可以在 Lambda 函数和自定义组件中使用Amazon IoT Device SDK V2 与设备上的阴影进行交互。

  • 本地影子服务支持命名阴影。

  • 本地阴影服务允许您删除阴影并将已删除的阴影与同步Amazon IoT Core。

有关更多信息,请参阅 与设备影子互动

订阅

在中Amazon IoT Greengrass V1,您可以为 Greengrass 组定义订阅,以指定 Lambda 函数、连接器、互联设备、Amazon IoT Core MQTT 代理和本地影子服务之间的通信渠道。订阅指定 Lambda 函数在何处接收事件消息,将其作为函数负载使用。

在中Amazon IoT Greengrass V2,您可以在不使用订阅的情况下指定通信渠道。

  • 组件管理自己的通信渠道,以与本地发布/订阅消息、Amazon IoT Core MQTT 消息和本地影子服务进行交互。

  • 要配置客户端设备、本地发布/订阅代理和Amazon IoT Core MQTT 代理之间的通信渠道,您需要配置和部署 MQTT 桥接组件。MQTT 桥接组件使您能够与组件中的客户端设备进行交互,并在客户端设备和之间中继消息Amazon IoT Core。

访问其他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服务