AWS IoT Greengrass Version 1 trat am 30. Juni 2023 in die erweiterte Lebensphase ein. Weitere Informationen finden Sie in der AWS IoT Greengrass V1 Wartungsrichtlinie. Nach diesem Datum AWS IoT Greengrass V1 werden keine Updates mehr veröffentlicht, die Funktionen, Verbesserungen, Bugfixes oder Sicherheitspatches bieten. Geräte, die auf laufen, werden AWS IoT Greengrass V1 nicht gestört und funktionieren weiterhin und stellen eine Verbindung zur Cloud her. Wir empfehlen Ihnen dringend, zu migrieren AWS IoT Greengrass Version 2, da dies wichtige neue Funktionen und Unterstützung für zusätzliche Plattformen bietet.
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.
Integrieren von Services und Protokollen mit Greengrass-Konnektoren
Diese Funktion ist für AWS IoT Greengrass Core v1.7 und höher verfügbar.
Bei den Konnektoren AWS IoT Greengrass handelt es sich um vorgefertigte Module, die die Interaktion mit der lokalen Infrastruktur, Geräteprotokollen und anderen Cloud-Diensten effizienter machen. AWS Durch die Verwendung von Konnektoren müssen Sie weniger Zeit mit dem Erlernen neuer Protokolle verbringen APIs und können sich mehr auf die Logik konzentrieren, die für Ihr Unternehmen wichtig ist.
Das folgende Diagramm zeigt, wo Konnektoren in die AWS IoT Greengrass Landschaft passen können.

Viele Konnektoren verwenden MQTT-Nachrichten, um mit Client-Geräten und Greengrass Lambda-Funktionen in der Gruppe oder mit dem lokalen AWS IoT Shadow-Service zu kommunizieren. Im folgenden Beispiel empfängt der Twilio Notifications Connector MQTT-Nachrichten von einer benutzerdefinierten Lambda-Funktion, verwendet eine lokale Referenz eines Geheimnisses von und ruft die AWS Secrets Manager Twilio-API auf.

Ein Tutorial zum Erstellen dieser Lösung finden Sie unter Erste Schritte mit Greengrass-Konnektoren (Konsole) und Erste Schritte mit Greengrass-Konnektoren (CLI).
Greengrass-Konnektoren können Ihnen helfen, die Gerätefunktionen zu erweitern oder Einzweckgeräte zu entwickeln. Mithilfe von Konnektoren können Sie:
-
Implementieren einer wiederverwendbaren Geschäftslogik.
-
Interagieren Sie mit Cloud- und lokalen Diensten, einschließlich AWS Diensten von Drittanbietern.
-
Erfassen und Verarbeiten von Gerätedaten.
-
Aktivieren Sie device-to-device Aufrufe mithilfe von MQTT-Themenabonnements und benutzerdefinierten Lambda-Funktionen.
AWS bietet eine Reihe von Greengrass-Konnektoren, die Interaktionen mit gängigen Diensten und Datenquellen vereinfachen. Diese vorgefertigten Module ermöglichen Szenarien für Protokollierung und Diagnose, Nachschubplanung, industrielle Datenverarbeitung sowie für Alarm und Meldung. Weitere Informationen finden Sie unter AWS-mitgelieferte Greengrass-Anschlüsse.
Voraussetzungen
Beachten Sie bei der Verwendung von Konnektoren die folgenden Punkte:
-
Für jeden Konnektor, den Sie verwenden, gelten Anforderungen, die Sie erfüllen müssen. Zu diesen Anforderungen können die Mindestversion der AWS IoT Greengrass Core-Software, die Gerätevoraussetzungen, die erforderlichen Berechtigungen und Beschränkungen gehören. Weitere Informationen finden Sie unter AWS-mitgelieferte Greengrass-Anschlüsse.
-
Eine Greengrass-Gruppe kann nur eine konfigurierte Instanz eines bestimmten Connectors enthalten. Sie können die Instanz jedoch in mehreren Abonnements verwenden. Weitere Informationen finden Sie unter Konfigurationsparameter.
-
Wenn die Standardcontainerisierung für die Greengrass-Gruppe auf No container (Kein Container) festgelegt ist, müssen die Connectors (Konnektoren) in der Gruppe ohne Containerisierung ausgeführt werden. Informationen zum Suchen von Konnektoren, die den No Container (Kein Container)-Modus unterstützen, finden Sie unter AWS-mitgelieferte Greengrass-Anschlüsse.
Verwenden von Greengrass-Konnektoren
Ein Konnektor ist ein Typ einer Gruppenkomponente. Wie bei anderen Gruppenkomponenten, wie Client-Geräten und benutzerdefinierten Lambda-Funktionen, fügen Sie Konnektoren zu Gruppen hinzu, konfigurieren ihre Einstellungen und stellen sie im AWS IoT Greengrass Core bereit. Konnektoren werden in der Core-Umgebung ausgeführt.
Sie können einige Konnektoren als einfache eigenständige Anwendungen bereitstellen. Beispielsweise liest der Device Defender-Connector Systemmetriken vom Kerngerät und sendet sie AWS IoT Device Defender zur Analyse an.
Sie können weitere Konnektoren als Bausteine zu größeren Lösungen hinzufügen. Die folgende Beispiellösung verwendet den Modbus-RTU-Protokolladapter-Konnektor zur Verarbeitung von Nachrichten von Sensoren und den Twilio Notifications Connector zur Initiierung von Twilio-Nachrichten.

Lösungen beinhalten häufig benutzerdefinierte Lambda-Funktionen, die sich neben Konnektoren befinden und die Daten verarbeiten, die der Konnektor sendet oder empfängt. In diesem Beispiel empfängt die TempMonitor Funktion Daten vom Modbus-RTU-Protokolladapter, führt einen Teil der Geschäftslogik aus und sendet dann Daten an Twilio Notifications.
Um eine Lösung zu erstellen und bereitzustellen, folgen Sie diesem allgemeinen Prozess:
-
Bilden Sie den übergeordneten Datenfluss ab. Identifizieren Sie die Datenquellen, Datenkanäle, Services, Protokolle und Ressourcen, mit denen Sie arbeiten müssen. In der Beispiellösung beinhaltet dies Daten über das Modbus RTU-Protokoll, die physikalische serielle Modbus-Schnittstelle und Twilio.
-
Identifizieren Sie die Konnektoren, die in die Lösung aufgenommen werden sollen, und fügen Sie sie zu Ihrer Gruppe hinzu. Die Beispiellösung verwendet den Modbus-RTU-Protokolladapter und Twilio-Benachrichtigungen. Damit Sie die Konnektoren leichter finden, die auf Ihr Szenario zutreffen, und um mehr über deren individuelle Anforderungen zu erfahren, konsultieren Sie die AWS-mitgelieferte Greengrass-Anschlüsse.
-
Identifizieren Sie, ob benutzerdefinierte Lambda-Funktionen, Client-Geräte oder Ressourcen benötigt werden, und erstellen Sie sie dann und fügen Sie sie der Gruppe hinzu. Dies kann Funktionen beinhalten, die Geschäftslogik enthalten oder Daten in ein Format verarbeiten, das von einer anderen Entity in der Lösung benötigt wird. Die Beispiellösung verwendet Funktionen, um Modbus-RTU-Anfragen zu senden und Twilio-Benachrichtigungen zu initiieren. Sie enthält auch eine lokale Geräteressource für die serielle Schnittstelle Modbus RTU und eine geheime Ressource für das Twilio-Authentifizierungstoken.
Anmerkung
Eine geheime Ressource meint Passwörter, Token und andere Secrets vom AWS Secrets Manager. Secrets können von Konnektoren und Lambda-Funktionen zur Authentifizierung bei Diensten und Anwendungen verwendet werden. AWS IoT Greengrass Kann standardmäßig auf Geheimnisse zugreifen, deren Namen mit "greengrass -“ beginnen. Weitere Informationen finden Sie unter Setzen Sie Geheimnisse bis ins AWS IoT Greengrass Mark ein.
-
Erstellen Sie Abonnements, die es den Entitäten in der Lösung ermöglichen, MQTT-Nachrichten auszutauschen. Wenn ein Konnektor in einem Abonnement verwendet wird, müssen der Konnektor und die Nachrichtenquelle oder das Ziel die vordefinierte Themensyntax verwenden, die von dem Konnektor unterstützt wird. Weitere Informationen finden Sie unter Eingaben und Ausgaben.
-
Bereitstellen der Gruppe auf Greengrass Core.
Informationen zum Erstellen und Bereitstellen eines Connectors finden Sie in den folgenden Tutorials:
Konfigurationsparameter
Viele Konnektoren stellen Parameter bereit, mit denen Sie Verhalten oder Ausgabe anpassen können. Diese Parameter werden während der Initialisierung, zur Laufzeit oder zu anderen Zeiten im Lebenszyklus des Konnektors verwendet.
Die Parametertypen und -verwendung variieren je nach Konnektor. Beispielsweise hat der SNS-Connector einen Parameter, der das Standard-SNS-Thema konfiguriert, und Device Defender hat einen Parameter, der die Datenabtastrate konfiguriert.
Eine Gruppenversion kann mehrere Konnektoren enthalten, aber nur eine Instance eines bestimmten Konnektor auf einmal. Dies bedeutet, dass jeder Konnektor in der Gruppe nur über eine aktive Konfiguration verfügen kann. Die Konnektor-Instance kann jedoch in mehreren Abonnements in der Gruppe verwendet werden. Sie können beispielsweise Abonnements erstellen, mit denen viele Geräte Daten an den Kinesis Firehose-Connector senden können.
Parameter für den Zugriff auf Gruppenressourcen
Greengrass-Konnektoren verwenden Gruppenressourcen für den Zugriff auf das Dateisystem, Ports, Peripheriegeräte und andere lokale Ressourcen auf dem Core-Gerät. Wenn ein Konnektor den Zugriff auf eine Gruppenressource erfordert, stellt er zugehörige Konfigurationsparameter zur Verfügung.
Gruppenressourcen beinhalten:
-
Lokale Ressourcen. Verzeichnisse, Dateien, Ports, Pins und Peripheriegeräte, die auf dem Greengrass Core-Gerät vorhanden sind.
-
Ressourcen für maschinelles Lernen. Machine Learning-Modelle, die in der Cloud geschult und für den Core für lokale Inferenzen bereitgestellt werden.
-
Geheime Ressourcen. Lokale, verschlüsselte Kopien von Passwörtern, Schlüsseln, Token oder beliebigem Text von. AWS Secrets Manager Konnektoren können auf diese lokalen Geheimnisse sicher zugreifen und sie verwenden, um sich auf Services oder in der lokalen Infrastruktur zu authentifizieren.
Beispielsweise ermöglichen Parameter für Device Defender den Zugriff auf Systemmetriken im /proc
Host-Verzeichnis, und Parameter für Twilio-Benachrichtigungen ermöglichen den Zugriff auf ein lokal gespeichertes Twilio-Authentifizierungstoken.
Aktualisieren von Konnektorparametern
Die Parameter werden konfiguriert, wenn der Konnektor zu einer Greengrass-Gruppe hinzugefügt wird. Sie können die Parameterwerte ändern, nachdem der Konnektor hinzugefügt wurde.
-
In der Konsole: Öffnen Sie auf der Gruppenkonfigurationsseite Connectors (Konnektoren) und wählen Sie im Kontextmenü des Konnektors Edit (Bearbeiten) aus.
Anmerkung
Wenn der Konnektor eine geheime Ressource verwendet, die später geändert wird, um auf ein anderes Secret zu verweisen, müssen Sie die Parameter des Konnektors bearbeiten und die Änderung bestätigen.
-
In der API: Erstellen Sie eine weitere Version des Konnektors, die die neue Konfiguration definiert.
Die AWS IoT Greengrass API verwendet Versionen, um Gruppen zu verwalten. Versionen sind unveränderlich. Um Gruppenkomponenten — z. B. die Client-Geräte, Funktionen und Ressourcen der Gruppe — hinzuzufügen oder zu ändern, müssen Sie Versionen neuer oder aktualisierter Komponenten erstellen. Anschließend erstellen und implementieren Sie eine Gruppenversion, die die Zielversion jeder Komponente enthält.
Nachdem Sie Änderungen an der Konnektor-Konfiguration der Gruppe vorgenommen haben, müssen Sie die Gruppe bereitstellen, damit die Änderungen zum Core propagiert werden.
Eingaben und Ausgaben
Greengrass-Konnektoren können mit anderen Entitäten kommunizieren, indem sie MQTT-Nachrichten senden und empfangen. Die MQTT-Kommunikation wird durch Abonnements gesteuert, die es einem Connector ermöglichen, Daten mit Lambda-Funktionen, Client-Geräten und anderen Connectoren in der Greengrass-Gruppe oder mit AWS IoT und dem lokalen Shadow-Service auszutauschen. Um diese Kommunikation zuzulassen, müssen Sie Abonnements in der Gruppe erstellen, zu der der Konnektor gehört. Weitere Informationen finden Sie unter Verwaltete Abonnements im MQTT Messaging-Workflow.
Konnektoren können Nachrichtenabonnenten, Nachrichtenherausgeber oder beides sein. Jeder Konnektor definiert die MQTT-Themen, die er veröffentlicht oder abonniert. Diese vordefinierten Themen müssen in den Abonnements verwendet werden, wobei der Konnektor eine Nachrichtenquelle oder ein Nachrichtenziel ist. Tutorials mit den Schritten für die Konfiguration von Abonnements für einen Konnektor finden Sie unter Erste Schritte mit Greengrass-Konnektoren (Konsole) und Erste Schritte mit Greengrass-Konnektoren (CLI).
Anmerkung
Viele Konnektoren haben auch eingebaute Kommunikationsmodi, um mit Cloud- oder lokalen Services zu interagieren. Diese variieren je nach Konnektor und können erfordern, dass Sie Parameter konfigurieren oder der Gruppenrolle Berechtigungen hinzufügen. Weitere Informationen zu den Anforderungen für Konnektoren finden Sie unter AWS-mitgelieferte Greengrass-Anschlüsse.
Eingabethemen
Die meisten Konnektoren empfangen Eingabedaten zu MQTT-Themen. Einige Konnektoren abonnieren mehrere Themen für Eingabedaten. Der Serial Stream Connector unterstützt beispielsweise zwei Themen:
-
serial/+/read/#
-
serial/+/write/#
Für diesen Konnektor werden Lese- und Schreibanforderungen an das zugehörige Thema gesendet. Wenn Sie Abonnements erstellen, stellen Sie sicher, dass Sie das Thema verwenden, das zu Ihrer Implementierung passt.
Die Zeichen +
und #
in den vorherigen Beispielen sind Platzhalter. Diese Platzhalter ermöglichen es Abonnenten, Nachrichten zu mehreren Themen zu empfangen, und Herausgebern, die Themen, zu denen sie veröffentlichen, anzupassen.
-
Der Platzhalter
+
kann an beliebiger Stelle in der Themenhierarchie erscheinen. Es kann durch ein Hierarchie-Element ersetzt werden.Zum Beispiel können für das Thema
sensor/+/input
Nachrichten zu den Themensensor/id-123/input
veröffentlicht werden, nicht aber zusensor/group-a/id-123/input
.
-
Der
#
Platzhalter kann nur am Ende der Themenhierarchie erscheinen. Es kann durch null oder mehr Hierarchieelemente ersetzt werden..Zum Beispiel können für das Thema
sensor/#
Nachrichten zusensor/
,sensor/id-123
undsensor/group-a/id-123
veröffentlicht werden, nicht aber zusensor
.
Platzhalterzeichen sind nur gültig, wenn Sie Themen abonnieren. Nachrichten können nicht zu Themen veröffentlicht werden, die Platzhalter enthalten. Weitere Informationen zu den Anforderungen an die Eingabe- oder Ausgabethemen finden Sie in der Dokumentation für den Konnektor. Weitere Informationen finden Sie unter AWS-mitgelieferte Greengrass-Anschlüsse.
Unterstützung der Containerisierung
Standardmäßig werden die meisten Konnektoren auf dem Greengrass Core in einer isolierten Laufzeitumgebung ausgeführt, die von verwaltet wird AWS IoT Greengrass. Diese Laufzeitumgebungen, Container genannt, bieten Isolation zwischen Konnektoren und dem Hostsystem. Dies erhöht die Sicherheit für den Host und den Konnektor.
Diese Greengrass-Containerisierung wird jedoch in einigen Umgebungen nicht unterstützt, z. B. wenn Sie sie AWS IoT Greengrass in einem Docker-Container oder auf älteren Linux-Kerneln ohne Cgroups ausführen. In diesen Umgebungen müssen die Konnektoren im Modus No container (Kein Container) ausgeführt werden. Informationen zum Suchen von Konnektoren, die den No Container (Kein Container)-Modus unterstützen, finden Sie unter AWS-mitgelieferte Greengrass-Anschlüsse. Einige Konnektoren werden in diesem Modus nativ ausgeführt und einige Konnektoren ermöglichen es Ihnen, den Isolationsmodus festzulegen.
Sie können den Isolationsmodus auch in Umgebungen, die die Greengrass-Containerisierung unterstützen, auf No container (Kein Container) festlegen. Wir empfehlen jedoch, wenn möglich den Modus Greengrass container (Greengrass-Container) zu verwenden.
Anmerkung
Die Standardeinstellung für Containerisierung für die Greengrass-Gruppe gilt nicht für Konnektoren.
Aktualisieren von Konnektorversionen
Konnektoranbieter veröffentlichen möglicherweise neue Versionen eines Konnektors, die neue Funktionen bereitstellen, Probleme beheben oder die Leistung verbessern. Informationen zu verfügbaren Versionen und entsprechenden Änderungen finden Sie in der Dokumentation zu den einzelnen Konnektoren.
In der AWS IoT Konsole können Sie nach neuen Versionen für die Konnektoren in Ihrer Greengrass-Gruppe suchen.
Erweitern Sie im Navigationsbereich der AWS IoT Konsole unter Verwalten die Option Greengrass-Geräte und wählen Sie dann Gruppen (V1) aus.
-
Wählen Sie unter Greengrass-Gruppen Ihre Gruppe aus.
-
Wählen Sie Connectors (Konnektoren), um die Konnektoren in der Gruppe anzuzeigen.
Wenn der Connector eine neue Version hat, wird in der Spalte Upgrade die Schaltfläche Verfügbar angezeigt.
-
So führen Sie ein Upgrade der Konnektorversion aus:
-
Wählen Sie auf der Seite Connectors (Konnektoren) in der Spalte Upgrade die Option Available (Verfügbar). Die Seite Upgrade connector (Konnektor-Upgrade) wird geöffnet und zeigt gegebenenfalls die aktuellen Parametereinstellungen an.
Wählen Sie die neue Konnektorversion, definieren Sie die Parameter wie erforderlich und wählen Sie dann Upgrade.
-
Fügen Sie auf der Seite Subscriptions (Abonnements) neue Abonnements in der Gruppe hinzu, um alle Abonnements zu ersetzen, die den Konnektor als Quelle oder Ziel verwenden. Entfernen Sie dann die alten Abonnements.
Abonnements verweisen nach Version auf Konnektoren, sodass sie ungültig werden, wenn Sie die Konnektorversion in der Gruppe ändern.
-
Wählen Sie im Menü Actions (Aktionen) die Option Deploy (Bereitstellen), um Ihre Änderungen im Core bereitzustellen.
-
Um einen Connector über die AWS IoT Greengrass API zu aktualisieren, erstellen und implementieren Sie eine Gruppenversion, die den aktualisierten Connector und die aktualisierten Abonnements enthält. Gehen Sie genauso vor wie beim Hinzufügen eines Konnektors zu einer Gruppe. Ausführliche Schritte, die Ihnen zeigen, wie Sie den AWS CLI zum Konfigurieren und Bereitstellen eines Beispiel-Connectors für Twilio Notifications verwenden, finden Sie unterErste Schritte mit Greengrass-Konnektoren (CLI).
Protokollieren für Konnektoren
Greengrass-Konnektoren enthalten Lambda-Funktionen, die Ereignisse und Fehler in Greengrass-Protokolle schreiben. Abhängig von Ihren Gruppeneinstellungen werden Protokolle in Logs, in CloudWatch das lokale Dateisystem oder in beide geschrieben. Protokolle von Konnektoren enthalten den ARN der entsprechenden Funktion. Der folgende Beispiel-ARN stammt vom Kinesis Firehose-Connector:
arn:aws:lambda:aws-region
:account-id
:function:KinesisFirehoseClient:1
Die Standardprotokollierungskonfiguration schreibt Info-Level-Protokolle mit der folgenden Verzeichnisstruktur in das Dateisystem:
greengrass-root
/ggc/var/log/user/region
/aws/function-name
.log
Weitere Hinweise zur Greengrass-Protokollierung finden Sie unterÜberwachung mit AWS IoT Greengrass Protokollen.