與組件中的陰影互動 - AWS IoT Greengrass

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

與組件中的陰影互動

您可以開發使用本機陰影服務讀取和修改本機陰影文件和用戶端裝置陰影文件的自訂元件 (包括 Lambda 函數元件)。

自訂元件使用AWS IoT Greengrass中的核心 IPC 程式庫AWS IoT Device SDK。所以此陰影管理元件會啟用核心裝置上的本機陰影服務。

如果要將影子管理元件部署到 Greengrass 核心裝置,建立部署包括aws.greengrass.ShadowManager元件。

注意

根據預設,部署陰影管理員元件只會啟用本機陰影作業。啟用AWS IoT Greengrass將核心設備陰影或客戶端設備的任何陰影的陰影狀態信息同步到相應的雲陰影文檔AWS IoT Core時,您必須建立陰影管理員元件的組態更新,其中包含synchronize參數。如需詳細資訊,請參閱 同步本地設備陰影AWS IoT Core

擷取和修改陰影狀態

陰影 IPC 作業會擷取並更新本機陰影文件中的狀態資訊。陰影管理員元件會處理核心裝置上這些陰影文件的儲存空間。

修改局部陰影狀態
  1. 將授權原則新增至自訂元件的方案,以允許元件接收有關本機陰影主題的訊息。

    如需授權政策的範例,請參閱本機陰影 IPC 授權政策範例

  2. 使用陰影 IPC 作業擷取和修改陰影狀態資訊。如需在元件程式碼中使用陰影 IPC 作業的詳細資訊,請參閱與局部陰影互動

注意

若要讓核心裝置與用戶端裝置陰影互動,您還必須設定和部署 MQTT 橋接器元件。如需詳細資訊,請參閱「」啟用陰影管理員與用戶端裝置通訊

對陰影狀態變化做出反應

Greengrass 組件使用本地發布/訂閱接口在核心設備上進行通信。若要讓自訂元件回應陰影狀態變更,您可以訂閱本機發佈/訂閱主題。這可讓元件接收有關本機陰影主題的訊息,然後對這些訊息採取行動。

局部陰影主題使用的格式與AWS IoT裝置陰影 MQTT 主題。如需陰影主題的詳細資訊,請參閱Device Shadow MQTT 主題中的AWS IoT開發人員指南

對局部陰影狀態變化做出反應
  1. 將存取控制原則新增至自訂元件的方案,以允許元件接收有關本機陰影主題的訊息。

    如需授權政策的範例,請參閱本機陰影 IPC 授權政策範例

  2. 若要在元件中啟動自訂動作,請使用SubscribeToTopicIPC 操作,以訂閱您要接收消息的陰影主題。如需有關在元件程式碼中使用本機發佈/訂閱 IPC 作業的詳細資訊,請參閱發佈/訂閱本地訊息

  3. 若要叫用 Lambda 函數,請使用事件來源組態提供陰影主題的名稱,並指定它是本機發佈/訂閱主題。如需建立 Lambda 函數元件的資訊,請參閱執行AWS Lambda功能

注意

若要讓核心裝置與用戶端裝置陰影互動,您還必須設定和部署 MQTT 橋接器元件。如需詳細資訊,請參閱「」啟用陰影管理員與用戶端裝置通訊