和之間 AWS IoT Greengrass V1 的差異 AWS IoT Greengrass V2 - AWS IoT Greengrass

本文為英文版的機器翻譯版本,如內容有任何歧義或不一致之處,概以英文版為準。

和之間 AWS IoT Greengrass V1 的差異 AWS IoT Greengrass V2

AWS IoT Greengrass V2 介紹裝置、叢集和可部署軟體的新基本概念。本節說明 V2 中不同的 V1 概念。

Greengrass 概念和術語
概念 AWS IoT Greengrass V1 AWS IoT Greengrass V2

應用程式碼

在中 AWS IoT Greengrass V1,Lambda 函數定義了在核心裝置上執行的軟體。在每個 Greengrass 群組中,您可以定義函數使用的訂閱和本機資源。對於 AWS IoT Greengrass 核心軟體在容器化 Lambda 執行階段環境中執行的 Lambda 函數,您可以定義容器參數,例如記憶體限制。

在中 AWS IoT Greengrass V2,元件是在核心裝置上執行的軟體模組。

  • 每個元件都有一個案,可定義元件的中繼資料、參數、相依性和指令碼,以便在元件生命週期中的每個步驟執行。

  • 方案也會定義元件的成品,也就是二進位檔案,例如指令碼、編譯的程式碼和靜態資源。

  • 將元件部署到核心裝置時,核心裝置會下載元件配方和成品以執行元件。

您可以將 V1 Lambda 函數匯入為在中的 Lambda 執行階段環境中執行的元件 AWS IoT Greengrass V2。匯入 Lambda 函數時,您可以指定函數的訂閱、本機資源和容器參數。如需詳細資訊,請參閱 步驟 2:建立和部署 AWS IoT Greengrass V2 元件以遷移 AWS IoT Greengrass V1 應用程式

如需如何建立自訂元件的詳細資訊,請參閱〈〉開發 AWS IoT Greengrass 元件

AWS IoT Greengrass 群組和部署

在中 AWS IoT Greengrass V1,群組會定義核心裝置、該核心裝置的設定和軟體,以及可連線至該核心裝置的項目清單。 AWS IoT 您可以建立部署,將群組的設定傳送至核心裝置。

在中 AWS IoT Greengrass V2,您可以使用部署來定義在核心裝置上執行的軟體元件和組態。

  • 每個部署都以單一核心裝置 (即 AWS IoT 物件) 或可包含多個核心裝置的 AWS IoT 物件群組為目標。

  • 物件群組的部署是連續的,因此當您將核心裝置新增至物件群組時,它會接收該群組的軟體組態。

如需詳細資訊,請參閱 將AWS IoT Greengrass元件部署到裝置

在中 AWS IoT Greengrass V2,您也可以使用 Greengrass CLI 建立本機部署,以在您開發這些元件的裝置上測試自訂軟體元件。如需詳細資訊,請參閱 建立 AWS IoT Greengrass 元件

AWS IoT Greengrass 核心軟體

在中 AWS IoT Greengrass V1, AWS IoT Greengrass Core 軟體是包含軟體及其所有功能的單一套件。您安裝 AWS IoT Greengrass 核心軟體的邊緣裝置稱為 Greengrass 核心。

在中 AWS IoT Greengrass V2, AWS IoT Greengrass Core 軟體是模組化的,因此您可以選擇要安裝的內容來控制記憶體佔用量。

  • Greengrass 核組件是核心軟件的最低要求安裝。 AWS IoT Greengrass 您在其上安裝核心的邊緣裝置稱為 Greengrass 核心裝置。

  • 核心處理核心裝置上其他元件的部署、協調和生命週期管理。

  • 串流管理員、秘密管理員和記錄管理員等功能是您僅在需要這些功能時才部署的元件。如需詳細資訊,請參閱 AWS提供的元件

連接器

在中 AWS IoT Greengrass V1,連接器是預先建置的模組,您可以部署到 AWS IoT Greengrass V1 核心裝置,以便與本機基礎結構、裝置通訊協定及其他雲端服務互動。 AWS

在中 AWS IoT Greengrass V2, AWS 提供 Greengrass 元件,這些元件會實作 V1 中連接器所提供的功能。下列 AWS IoT Greengrass V2 元件提供 Greengrass V1 連接器功能:

如需詳細資訊,請參閱 AWS提供的元件

連接的設備(Greengrass 設備)

在中 AWS IoT Greengrass V1,已連接的裝置是 AWS IoT 您新增至 Greengrass 群組以連線至該群組中的核心裝置並透過 MQTT 進行通訊的項目。每次新增或移除連線的裝置時,都必須部署該群組。您可以使用訂閱在核心裝置上連線的裝置和應用程式之間轉送訊息。 AWS IoT Core

在中 AWS IoT Greengrass V2,連接的裝置稱為 Greengrass 用戶端裝置。

  • 您可以將用戶端裝置與核心裝置建立關聯,以連接它們並透過 MQTT 進行通訊。

  • 若要授權用戶端裝置進行連線,您需要定義可套用至用戶端裝置群組的授權原則,因此您不需要建立部署即可新增或移除用戶端裝置。

  • 若要在用戶端裝置 AWS IoT Core、和 Greengrass 元件之間轉送訊息,您可以設定選用的 MQTT 橋接器元件。

在 AWS IoT Greengrass V1 和中 AWS IoT Greengrass V2,裝置可以執行 FreeRTOS 或使用AWS IoT Device SDKGreengrass 探索 API 來取得可連線的核心裝置相關資訊。Greengrass 探索 API 是向下相容的,因此,如果您的用戶端裝置連線到 V1 核心裝置,您可以將它們連接到 V2 核心裝置,而不需要變更其程式碼。

如需用戶端裝置的詳細資訊,請參閱與本機 IoT 裝置互動

本地資源

在中 AWS IoT Greengrass V1,在容器中執行的 Lambda 函數可設定為存取核心裝置檔案系統上的磁碟區和裝置。這些檔案系統資源稱為本機資源。

在中 AWS IoT Greengrass V2,您可以執行 Lambda 函數Docker 容器原生作業系統程序或自訂執行階段的元件。

  • 將容器化 Lambda 函數匯入為元件時,必須指定函數使用的本機資源。

  • 非容器化 Lambda 函數和非 Lambda 元件可直接與核心裝置上的本機資源搭配使用,因此您不需要指定元件使用的本機資源。

本機陰影服務

在中 AWS IoT Greengrass V1,本機陰影服務預設為啟用,且僅支援未命名的傳統陰影。您可以在 Lambda 函數中使用 AWS IoT Greengrass 核心 SDK 與裝置上的陰影互動。

在中 AWS IoT Greengrass V2,您可以透過部署陰影管理員元件來啟用本機陰影服務。

  • 您可以在 Lambda 函數和自訂元件中使用 AWS IoT Device SDK V2,與裝置上的陰影互動。

  • 本機陰影服務支援具名陰影。

  • 本機陰影服務可讓您刪除陰影,並將已刪除的陰影與同步化 AWS IoT Core。

如需詳細資訊,請參閱 與裝置陰影互動

訂閱

在中 AWS IoT Greengrass V1,您可以定義 Greengrass 群組的訂閱,以指定 Lambda 函數、連接器、連線裝置、 AWS IoT Core MQTT 代理程式和本機陰影服務之間的通訊通道。訂閱可指定 Lambda 函數接收事件訊息以作為函數承載使用的位置。

在中 AWS IoT Greengrass V2,您可以指定通訊管道,而不使用訂閱。

訪問其他 AWS 服務

在中 AWS IoT Greengrass V1,您可以將稱為群組角色的 AWS Identity and Access Management (IAM) 角色附加到 Greengrass 群組。群組角色定義了該群組核心裝置上 Lambda 函數和 AWS IoT Greengrass 功能用來存取的許可 AWS 服務。

在中 AWS IoT Greengrass V2,您可以將 AWS IoT 角色別名附加到 Greengrass 核心裝置。角色別名指向稱為權杖交換角色的 IAM 角色。權杖交換角色定義了核心裝置上 Greengrass 元件用來存取的權限。 AWS 服務如需更多詳細資訊,請參閱 授權核心裝置與 AWS 服務互動