Bereitstellen von AWS IoT Greengrass-Gruppen für einen AWS IoT Greengrass Core - AWS IoT Greengrass

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.
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.

  1. Wählen Sie auf der Seite Gruppenkonfiguration die Registerkarte Bereitstellungen aus.

  2. 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.

  1. Wählen Sie in der AWS IoTKonsole Greengrass-Geräte und dann Gruppen (V1) aus.

  2. Wählen Sie die Registerkarte Bereitstellen.

  3. 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.

  1. Wählen Sie in der AWS IoTKonsole Greengrass-Geräte und dann Gruppen (V1) aus.

  2. Wählen Sie die Registerkarte Bereitstellen.

  3. 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

CreateDeployment

Erstellt eine NewDeployment- oder Redeployment-Bereitstellung.

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.

GetDeploymentStatus

Gibt den Status einer Bereitstellung zurück: Building, InProgress, Success oder Failure.

Sie können Amazon- EventBridge Ereignisse für den Empfang von Bereitstellungsbenachrichtigungen konfigurieren. Weitere Informationen finden Sie unter Abrufen von Bereitstellungsbenachrichtigungen.

ListDeployments

Gibt den Bereitstellungsverlauf für die Gruppe zurück.

ResetDeployments

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.

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.

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 von DeviceDefinitionVersion-Objekten.

  • Ein DefinitionVersion, der eine Reihe von Entitäten eines bestimmten Typs enthält. Eine DeviceDefinitionVersion enthält beispielsweise eine Liste von Device-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.

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 aktualisierten Function-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