Interagieren mit Schatten in Komponenten - AWS IoT Greengrass

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.

Interagieren mit Schatten in Komponenten

Sie können benutzerdefinierte Komponenten entwickeln, einschließlich Lambda-Funktionskomponenten, die den lokalen Schattenservice verwenden, um lokale Schattendokumente und Schattendokumente für Client-Geräte zu lesen und zu ändern.

Benutzerdefinierte Komponenten interagieren mit dem lokalen Schattenservice mithilfe der AWS IoT Greengrass Core IPC-Bibliotheken in der AWS IoT Device SDK. Die Schattenmanager-Komponente aktiviert den lokalen Schattendienst auf Ihrem Core-Gerät.

Um die Shadow Manager-Komponente auf einem Greengrass-Kerngerä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 Schattenoperationen. Damit Schattenstatusinformationen für Kerngeräteschatten oder Schatten für Clientgeräte mit den entsprechenden Cloud-Schattendokumenten in AWS IoT Greengrass synchronisiert werden könnenAWS IoT Core, müssen Sie ein Konfigurationsupdate für die Shadow-Manager-Komponente erstellen, das den -synchronizeParameter enthält. Weitere Informationen finden Sie unter Lokale Geräteschatten mit synchronisieren AWS IoT Core.

Schattenstatus abrufen und ändern

Die Schatten- IPC-Operationen rufen Statusinformationen in lokalen Schattendokumenten ab und aktualisieren sie. Die Schattenmanager-Komponente übernimmt die Speicherung dieser Schattendokumente auf Ihrem Core-Gerät.

So ändern Sie den lokalen Schattenstatus
  1. Fügen Sie dem Rezept für Ihre benutzerdefinierte Komponente Autorisierungsrichtlinien hinzu, damit die Komponente Nachrichten zu lokalen Schattenthemen empfangen kann.

    Beispiele für Autorisierungsrichtlinien finden Sie unter Beispiele für lokale Schatten-IPK-Autorisierungsrichtlinien.

  2. Verwenden Sie die Schatten- IPC-Operationen, um Schattenstatusinformationen abzurufen und zu ändern. Weitere Informationen zur Verwendung von Schatten-IPK-Operationen im Komponentencode finden Sie unter Interagieren mit lokalen Schatten.

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 Schattenmanager für die Kommunikation mit Client-Geräten aktivieren.

Reagieren Sie auf Änderungen des Schattenstatus

Greengrass-Komponenten verwenden die lokale Publish/Subscribe-Schnittstelle, um auf einem Core-Gerät zu kommunizieren. Damit eine benutzerdefinierte Komponente auf Änderungen des Schattenstatus reagieren kann, können Sie die lokalen Themen zum Veröffentlichen/Abonnieren abonnieren abonnieren. Auf diese Weise kann die Komponente Nachrichten zu den lokalen Schattenthemen empfangen und dann auf diese Nachrichten reagieren.

Lokale Schattenthemen verwenden dasselbe Format wie die MQTT-Themen des AWS IoT Geräteschattens. Weitere Informationen zu Schattenthemen finden Sie unter Geräteschatten-MQTT-Themen im AWS IoT -Entwicklerhandbuch.

So reagieren Sie auf Statusänderungen des lokalen Schattens
  1. Fügen Sie dem Rezept für Ihre benutzerdefinierte Komponente Zugriffskontrollrichtlinien hinzu, damit die Komponente Nachrichten zu lokalen Schattenthemen empfangen kann.

    Beispiele für Autorisierungsrichtlinien finden Sie unter Beispiele für lokale Schatten-IPK-Autorisierungsrichtlinien.

  2. Um eine benutzerdefinierte Aktion in einer Komponente zu initiieren, verwenden Sie SubscribeToTopic IPC-Operationen, um die Schattenthemen zu abonnieren, zu denen Sie Nachrichten empfangen möchten. Weitere Informationen zur Verwendung von lokalen IPC-Operationen zum Veröffentlichen/Abonnieren im Komponentencode finden Sie unter Lokale Nachrichten veröffentlichen/abonnieren.

  3. Um eine Lambda-Funktion aufzurufen, verwenden Sie die Konfiguration der Ereignisquelle, um den Namen des Schattenthemas anzugeben und anzugeben, dass es sich um ein lokales Veröffentlichungs-/Abonnementthema handelt. Informationen zum Erstellen von Lambda-Funktionskomponenten finden Sie unter Ausführen von -AWS LambdaFunktionen.

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 Shadow Manager die Kommunikation mit Client-Geräten ermöglichen.