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.
Bereitstellen von AWS IoT Greengrass-Gruppen für einen AWS IoT Greengrass Core
Verwenden Sie AWS IoT Greengrass Gruppen, um Entitäten in Ihrer Edge-Umgebung zu organisieren. Sie verwenden Gruppen auch, um zu steuern, wie die Entitäten in der Gruppe miteinander und mit der interagierenAWS Cloud. Beispielsweise werden nur die Lambda-Funktionen in der Gruppe für die lokale Ausführung bereitgestellt, und nur die Geräte in der Gruppe können über den lokalen MQTT-Server kommunizieren.
Eine Gruppe muss einen Core enthalten. Dabei handelt es sich um ein AWS IoT-Gerät, das die AWS IoT Greengrass-Core-Software ausführt. Der Core fungiert als Edge-Gateway und stellt AWS IoT Core-Funktionen in der Edge-Umgebung bereit. Abhängig von Ihren geschäftlichen Anforderungen können Sie auch die folgenden Entitäten zu einer Gruppe hinzufügen:
-
Client-Geräte . Dargestellt als Objekte in der AWS IoT-Registrierung. Diese Geräte müssen FreeRTOS ausführen oder das AWS IoT Geräte-SDK oder die AWS IoT Greengrass Discovery-API verwenden, um Verbindungsinformationen für den Kern abzurufen. Nur Client-Geräte, die Mitglieder der Gruppe sind, können eine Verbindung zum Kern herstellen.
Lambda-Funktionen . Benutzerdefinierte Serverless-Anwendungen, die Code auf dem -Kern ausführen. Lambda-Funktionen werden in einer Greengrass-Gruppe erstellt AWS Lambda und referenziert. Weitere Informationen finden Sie unter Ausführen von Lambda-Funktionen auf dem AWS IoT Greengrass Core.
Konnektoren Vordefinierte Serverless-Anwendungen, die Code auf dem -Kern ausführen. Konnektoren können eine integrierte Integration mit lokaler Infrastruktur, GeräteprotokollenAWS, und anderen Cloud-Services bieten. Weitere Informationen finden Sie unter Integrieren von Services und Protokollen mit Greengrass-Konnektoren.
Abonnements Definiert die Herausgeber, Abonnenten und MQTT-Themen (oder Themen), die für die MQTT-Kommunikation autorisiert sind.
Ressourcen Verweise auf lokale Geräte und Volumes , Machine-Learning-Modelle und Secrets , die für die Zugriffskontrolle durch Greengrass-Lambda-Funktionen und -Konnektoren verwendet werden.
Protokolliert . Protokollierungskonfigurationen für AWS IoT Greengrass Systemkomponenten und Lambda-Funktionen. Weitere Informationen finden Sie unter Überwachen mit AWS IoT Greengrass-Protokollen.
Sie verwalten Ihre Greengrass-Gruppe in der AWS Cloud und stellen sie dann auf einem Kern bereit. Die Bereitstellung kopiert die Gruppenkonfiguration in die group.json
-Datei auf dem Core-Gerät. Diese Datei befindet sich unter
.greengrass-root
/ggc/deployments/group
![Cloud-Definition der Greengrass-Gruppe, die auf einem Core-Gerät bereitgestellt wird.](images/group-deploy.png)
Anmerkung
Während einer Bereitstellung stoppt der Greengrass-Daemon-Prozess auf dem Core-Gerät und startet dann neu.
Bereitstellen von Gruppen über die AWS IoT Konsole
Sie können eine Gruppe bereitstellen und ihre Bereitstellungen auf der Konfigurationsseite der Gruppe in der AWS IoT Konsole verwalten.
Anmerkung
Um diese Seite in der Konsole zu öffnen, wählen Sie Greengrass-Geräte , dann Gruppen (V1) und dann unter Greengrass-Gruppen Ihre Gruppe aus.
- Bereitstellen der aktuellen Version der Gruppe
-
-
Wählen Sie auf der Seite Gruppenkonfiguration die Option Bereitstellen aus.
-
- Anzeigen des Bereitstellungsverlaufs der Gruppe
-
Der Bereitstellungsverlauf einer Gruppe enthält das Datum und die Uhrzeit, die Gruppenversion und den Status der einzelnen Bereitstellungsversuche.
-
Wählen Sie auf der Seite Gruppenkonfiguration die Registerkarte Bereitstellungen aus.
-
Um weitere Informationen zu einer Bereitstellung, einschließlich Fehlermeldungen, anzuzeigen, wählen Sie Bereitstellungen von der AWS IoTKonsole unter Greengrass-Geräte aus.
-
- Erneutes Bereitstellen einer Gruppenbereitstellung
-
Sie können eine Bereitstellung erneut bereitstellen, wenn die aktuelle Bereitstellung fehlschlägt oder auf eine andere Gruppenversion zurückgesetzt wird.
-
Wählen Sie in der AWS IoTKonsole Greengrass-Geräte und dann Gruppen (V1) aus.
-
Wählen Sie die Registerkarte Bereitstellen.
-
Wählen Sie die Bereitstellung aus, die Sie erneut bereitstellen möchten, und wählen Sie Erneut bereitstellen aus.
-
- Zurücksetzen von Gruppenbereitstellungen
-
Sie können Gruppenbereitstellungen zurücksetzen, um eine Gruppe zu verschieben oder zu löschen oder Bereitstellungsinformationen zu entfernen. Weitere Informationen finden Sie unter Zurücksetzen von Bereitstellungen.
-
Wählen Sie in der AWS IoTKonsole Greengrass-Geräte und dann Gruppen (V1) aus.
-
Wählen Sie die Registerkarte Bereitstellen.
-
Wählen Sie die Bereitstellung aus, die Sie zurücksetzen möchten, und wählen Sie Bereitstellungen zurücksetzen aus.
-
Bereitstellen von Gruppen mit der AWS IoT Greengrass-API
Die AWS IoT Greengrass-API bietet die folgenden Aktionen zum Bereitstellen von AWS IoT Greengrass-Gruppen und Verwalten von Gruppenbereitstellungen. Sie können diese Aktionen über die AWS CLI, dieAWS IoT Greengrass-API oder das AWS-SDK aufrufen.
Aktion | Beschreibung |
---|---|
Erstellt eine Möglicherweise möchten Sie eine Bereitstellung erneut bereitstellen, wenn die aktuelle Bereitstellung fehlschlägt. Sie können auch eine erneute Bereitstellung durchführen, um eine andere Gruppenversion wiederherzustellen. |
|
Gibt den Status einer Bereitstellung zurück: Sie können Amazon- EventBridge Ereignisse für den Empfang von Bereitstellungsbenachrichtigungen konfigurieren. Weitere Informationen finden Sie unter Abrufen von Bereitstellungsbenachrichtigungen. |
|
Gibt den Bereitstellungsverlauf für die Gruppe zurück. |
|
Setzt die Bereitstellungen für die Gruppe zurück. Sie können Gruppenbereitstellungen zurücksetzen, um eine Gruppe zu verschieben oder zu löschen oder Bereitstellungsinformationen zu entfernen. Weitere Informationen finden Sie unter Zurücksetzen von Bereitstellungen. |
Anmerkung
Weitere Informationen zu Massenbereitstellungsvorgängen finden Sie unter Erstellen von Sammelbereitstellungen für Gruppen.
Abrufen der Gruppen-ID
Die Gruppen-ID wird häufig in API-Aktionen verwendet. Sie können die ListGroups Aktion verwenden, um die ID der Zielgruppe aus Ihrer Gruppenliste zu finden. Verwenden Sie beispielsweise in der AWS CLI den list-groups
-Befehl.
aws greengrass list-groups
Sie können auch die query
-Option zum Filtern der Ergebnisse einschließen. Beispielsweise:
So rufen Sie die zuletzt erstellte Gruppe ab:
aws greengrass list-groups --query "reverse(sort_by(Groups, &CreationTimestamp))[0]"
-
So rufe Sie eine Gruppe anhand des Namens ab:
aws greengrass list-groups --query "Groups[?Name=='
MyGroup
']"Gruppennamen müssen nicht eindeutig sein, sodass mehrere Gruppen zurückgegeben werden können.
Nachfolgend finden Sie eine list-groups
-Beispielantwort. Die Informationen für jede Gruppe beinhalten die ID der Gruppe (in der Id
-Eigenschaft) und die ID der letzten Gruppenversion (in der LatestVersion
-Eigenschaft). Um andere Versions-IDs für eine Gruppe abzurufen, verwenden Sie die Gruppen-ID mit ListGroupVersions.
Anmerkung
Sie finden diese Werte auch in der -AWS IoTKonsole. Die Gruppen-ID wird auf der Seite Einstellungen der Gruppe angezeigt. Gruppenversions-IDs werden auf der Registerkarte Bereitstellungen der Gruppe angezeigt.
{ "Groups": [ { "LatestVersionArn": "arn:aws:us-west-2:123456789012:/greengrass/groups/00dedaaa-ac16-484d-ad77-c3eedEXAMPLE/versions/4cbc3f07-fc5e-48c4-a50e-7d356EXAMPLE", "Name": "MyFirstGroup", "LastUpdatedTimestamp": "2019-11-11T05:47:31.435Z", "LatestVersion": "4cbc3f07-fc5e-48c4-a50e-7d356EXAMPLE", "CreationTimestamp": "2019-11-11T05:47:31.435Z", "Id": "00dedaaa-ac16-484d-ad77-c3eedEXAMPLE", "Arn": "arn:aws:us-west-2:123456789012:/greengrass/groups/00dedaaa-ac16-484d-ad77-c3eedEXAMPLE" }, { "LatestVersionArn": "arn:aws:us-west-2:123456789012:/greengrass/groups/036ceaf9-9319-4716-ba2a-237f9EXAMPLE/versions/8fe9e8ec-64d1-4647-b0b0-01dc8EXAMPLE", "Name": "GreenhouseSensors", "LastUpdatedTimestamp": "2020-01-07T19:58:36.774Z", "LatestVersion": "8fe9e8ec-64d1-4647-b0b0-01dc8EXAMPLE", "CreationTimestamp": "2020-01-07T19:58:36.774Z", "Id": "036ceaf9-9319-4716-ba2a-237f9EXAMPLE", "Arn": "arn:aws:us-west-2:123456789012:/greengrass/groups/036ceaf9-9319-4716-ba2a-237f9EXAMPLE" }, ... ] }
Wenn Sie keinen angebenAWS-Region, AWS CLI verwenden Befehle die Standardregion aus Ihrem Profil. Um Gruppen in einer anderen Region zurückzugeben, schließen Sie die Option Region
ein. Beispielsweise:
aws greengrass list-groups --region us-east-1
Übersicht über das AWS IoT Greengrass-Gruppenobjektmodell
Beim Programmieren mit der AWS IoT Greengrass-API ist es hilfreich, das Greengrass-Gruppenobjektmodell zu verstehen.
Gruppen
In der AWS IoT Greengrass-API besteht das Group
-Objekt der obersten Ebene aus Metadaten und einer Liste von GroupVersion
-Objekten. GroupVersion
-Objekte sind mit einer Group
-ID verknüpft.
![Ein Diagramm einer Gruppe, das aus Metadaten und einer Liste von Gruppenversionen besteht.](images/om-group.png)
Gruppenversionen
GroupVersion
-Objekte definieren die Gruppenmitgliedschaft. Jede GroupVersion
verweist auf eine CoreDefinitionVersion
und andere Komponentenversionen nach ARN. Diese Referenzen bestimmen, welche Entitäten in die Gruppe aufgenommen werden sollen.
![Ein Diagramm einer Gruppenversion, die nach ARN auf andere Versionstypen verweist.](images/om-groupversion.png)
Um beispielsweise drei Lambda-Funktionen, ein Gerät und zwei Abonnements in die Gruppe aufzunehmen, verweisen die GroupVersion
-Referenzen:
Die
CoreDefinitionVersion
, die den erforderlichen Core enthält.Die
FunctionDefinitionVersion
, die die drei Funktionen enthält.Die
DeviceDefinitionVersion
, die das Client-Gerät enthält.Die
SubscriptionDefinitionVersion
, die die beiden Abonnements enthält.
Die für ein Core-Gerät bereitgestellte GroupVersion
bestimmt die Entitäten, die in der lokalen Umgebung verfügbar sind, und wie sie interagieren können.
Gruppenkomponenten
Komponenten, die Sie Gruppen hinzufügen, haben eine dreistufige Hierarchie:
Eine Definition, die auf eine Liste von DefinitionVersion Objekten eines bestimmten Typs verweist. Beispielsweise verweist eine
DeviceDefinition
auf eine Liste vonDeviceDefinitionVersion
-Objekten.Ein DefinitionVersion, der eine Reihe von Entitäten eines bestimmten Typs enthält. Eine
DeviceDefinitionVersion
enthält beispielsweise eine Liste vonDevice
-Objekten.Einzelne Entitäten, die ihre Eigenschaften und Verhalten definieren. Ein
Device
definiert beispielsweise den ARN des entsprechenden Client-Geräts in der AWS IoT Registrierung, den ARN seines Gerätezertifikats und ob sein lokaler Schatten automatisch mit der Cloud synchronisiert wird.Sie können einer Gruppe die folgenden Arten von Entitäten hinzufügen:
Das folgende Beispiel einer DeviceDefinition
verweist auf drei DeviceDefinitionVersion
-Objekte, die jeweils mehrere Device
-Objekte enthalten. Es wird nur jeweils eine DeviceDefinitionVersion
in einer Gruppe verwendet.
![Ein Diagramm einer Gerätehierarchie, die aus DeviceDefinition DeviceDefinitionVersion-, - und -Geräteobjekten besteht.](images/om-devicedefinition.png)
Aktualisieren von Gruppen
In der AWS IoT Greengrass-API verwenden Sie Versionen, um die Konfiguration einer Gruppe zu aktualisieren. Versionen sind unveränderlich. Um Gruppenkomponenten hinzuzufügen, zu entfernen oder zu ändern, müssen Sie DefinitionVersion Objekte erstellen, die neue oder aktualisierte Entitäten enthalten.
Sie können neue DefinitionVersions Objekte neuen oder vorhandenen Definition sobjektenzuordnen. Sie können beispielsweise die CreateFunctionDefinition
-Aktion verwenden, um eine FunctionDefinition
zu erstellen, die die FunctionDefinitionVersion
als anfängliche Version enthält. Sie können auch die CreateFunctionDefinitionVersion
-Aktion verwenden und auf eine vorhandene FunctionDefinition
verweisen.
Nachdem Sie Ihre Gruppenkomponenten erstellt haben, erstellen Sie eine , GroupVersion
die alle DefinitionVersion Objekte enthält, die Sie in die Gruppe aufnehmen möchten. Stellen Sie anschließend die GroupVersion
bereit.
Um eine GroupVersion
bereitzustellen, muss sie auf eine CoreDefinitionVersion
verweisen, die genau einen Core
enthält. Alle referenzierten Entitäten müssen Mitglieder der Gruppe sein. Außerdem muss eine Greengrass-Servicerolle Ihrem AWS-Konto in der zugeordnet seinAWS-Region, in der Sie das bereitstellenGroupVersion
.
Anmerkung
Die Update
-Aktionen in der API werden verwendet, um den Namen einer Group
oder eines Komponentendefinitionsobjekts zu ändern.
Aktualisieren von Entitäten, die auf AWS Ressourcen verweisen
Greengrass-Lambda-Funktionen und geheime Ressourcen definieren Greengrass-spezifische Eigenschaften und verweisen auch auf entsprechende AWS Ressourcen. Um diese Entitäten zu aktualisieren, können Sie Änderungen an der entsprechenden AWS Ressource anstelle Ihrer Greengrass-Objekte vornehmen. Lambda-Funktionen verweisen beispielsweise auf eine Funktion in AWS Lambda und definieren auch den Lebenszyklus und andere Eigenschaften, die für die Greengrass-Gruppe spezifisch sind.
Um den Lambda-Funktionscode oder gepackte Abhängigkeiten zu aktualisieren, nehmen Sie Ihre Änderungen in vorAWS Lambda. Während der nächsten Gruppenbereitstellung werden diese Änderungen von AWS Lambda abgerufen und in Ihre lokale Umgebung kopiert.
Um Greengrass-spezifische Eigenschaften zu aktualisieren, erstellen Sie eine
FunctionDefinitionVersion
, der die aktualisiertenFunction
-Eigenschaften enthält.
Anmerkung
Greengrass-Lambda-Funktionen können eine Lambda-Funktion nach Alias-ARN oder Versions-ARN referenzieren. Wenn Sie auf den Alias-ARN verweisen (empfohlen), müssen Sie Ihre FunctionDefinitionVersion
(oder SubscriptionDefinitionVersion
) nicht aktualisieren, wenn Sie eine neue Funktionsversion in AWS Lambda veröffentlichen. Weitere Informationen finden Sie unter Referenzieren von Lambda-Funktionen nach Alias oder Version.
Weitere Informationen finden Sie auch unter
-
-AWS IoT GreengrassBefehle in der -AWS CLIBefehlsreferenz