Die vorliegende Übersetzung wurde maschinell erstellt. Im Falle eines Konflikts oder eines Widerspruchs zwischen dieser übersetzten Fassung und der englischen Fassung (einschließlich infolge von Verzögerungen bei der Übersetzung) ist die englische Fassung maßgeblich.
Sie können benutzerdefinierte Komponenten, einschließlich Lambda-Funktionskomponenten, entwickeln, die den lokalen Shadow-Dienst verwenden, um lokale Shadow-Dokumente und Shadow-Dokumente auf Client-Geräten zu lesen und zu ändern.
Benutzerdefinierte Komponenten interagieren mit dem lokalen Shadow-Dienst mithilfe der AWS IoT Greengrass IPC-Kernbibliotheken in. AWS IoT Device SDK Die Shadow-Manager-Komponente aktiviert den lokalen Shadow-Dienst auf Ihrem Kerngerät.
Um die Shadow Manager-Komponente auf einem Greengrass-Core-Gerät bereitzustellen, erstellen Sie eine Bereitstellung, die die aws.greengrass.ShadowManager
Komponente enthält.
Anmerkung
Standardmäßig ermöglicht die Bereitstellung der Shadow-Manager-Komponente nur lokale Shadow-Operationen. Um die Synchronisierung von Shadow-Statusinformationen für Core-Geräteshadows oder Shadows für Client-Geräte mit den entsprechenden Cloud-Shadow-Dokumenten in zu ermöglichen AWS IoT Greengrass AWS IoT Core, müssen Sie ein Konfigurationsupdate für die Shadow-Manager-Komponente erstellen, das den synchronize
Parameter enthält. Weitere Informationen finden Sie unter Synchronisieren Sie lokale Geräteschatten mit AWS IoT Core.
Schattenstatus abrufen und ändern
Die Shadow-IPC-Operationen rufen Statusinformationen in lokalen Shadow-Dokumenten ab und aktualisieren sie. Die Shadow-Manager-Komponente kümmert sich um die Speicherung dieser Shadow-Dokumente auf Ihrem Kerngerät.
Um lokale Shadow-Status zu ändern
-
Fügen Sie dem Rezept für Ihre benutzerdefinierte Komponente Autorisierungsrichtlinien hinzu, damit die Komponente Nachrichten zu lokalen Shadow-Themen empfangen kann.
Beispiele für Autorisierungsrichtlinien finden Sie unter Beispiele für lokale Shadow-IPC-Autorisierungsrichtlinien.
-
Verwenden Sie die Shadow-IPC-Operationen, um Informationen zum Schattenstatus abzurufen und zu ändern. Weitere Hinweise zur Verwendung von Shadow-IPC-Operationen im Komponentencode finden Sie unter. Interagiere mit lokalen Schatten
Anmerkung
Damit ein Core-Gerät mit Client-Geräteshadows interagieren kann, müssen Sie auch die MQTT-Bridge-Komponente konfigurieren und bereitstellen. Weitere Informationen finden Sie unter Aktivieren des Shadow-Managers für die Kommunikation mit Client-Geräten.
Reagieren Sie auf Änderungen des Schattenstatus
Greengrass-Komponenten verwenden die lokalen publish/subscribe interface to communicate on a core device. To enable a custom component to react to shadow state changes, you can subscribe to the local publish/subscribe Themen. Dadurch kann die Komponente Nachrichten zu den lokalen Shadow-Themen empfangen und dann auf diese Nachrichten reagieren.
Lokale Shadow-Themen verwenden dasselbe Format wie die AWS IoT Device-Shadow-MQTT-Themen. Weitere Informationen zu Shadow-Themen finden Sie unter Device Shadow MQTT-Themen im AWS IoT Developer Guide.
Um auf lokale Änderungen des Shadow-Status zu reagieren
-
Fügen Sie dem Rezept für Ihre benutzerdefinierte Komponente Zugriffskontrollrichtlinien hinzu, damit die Komponente Nachrichten zu lokalen Shadow-Themen empfangen kann.
Beispiele für Autorisierungsrichtlinien finden Sie unter Beispiele für lokale Shadow-IPC-Autorisierungsrichtlinien.
-
Um eine benutzerdefinierte Aktion in einer Komponente zu initiieren, verwenden Sie
SubscribeToTopic
IPC-Operationen, um die Shadow-Themen zu abonnieren, zu denen Sie Nachrichten erhalten möchten. Weitere Hinweise zur Verwendung von lokalen IPC-Vorgängen zum Veröffentlichen und Abonnieren im Komponentencode finden Sie unter. Lokale Nachrichten veröffentlichen/abonnieren -
Um eine Lambda-Funktion aufzurufen, geben Sie in der Konfiguration der Ereignisquelle den Namen des Schattenthemas an und geben Sie an, dass es sich um ein lokales Veröffentlichungs-/Abonnement-Thema handelt. Hinweise zum Erstellen von Lambda-Funktionskomponenten finden Sie unterAWS Lambda Funktionen ausführen.
Anmerkung
Damit ein Core-Gerät mit Client-Geräteschatten interagieren kann, müssen Sie auch die MQTT-Bridge-Komponente konfigurieren und bereitstellen. Weitere Informationen finden Sie unter Aktivieren des Shadow-Managers für die Kommunikation mit Client-Geräten.