Entwickeln von AWS IoT Greengrass 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.

Entwickeln von AWS IoT Greengrass Komponenten

Sie können Komponenten auf Ihrem Greengrass-Kerngerät entwickeln und testen. Daher können Sie Ihre AWS IoT Greengrass Software erstellen und iterieren, ohne mit der zu interagierenAWS Cloud. Wenn Sie eine Version Ihrer Komponente abgeschlossen haben, können Sie sie in AWS IoT Greengrass in die Cloud hochladen, sodass Sie und Ihr Team die Komponente auf anderen Geräten in Ihrer Flotte bereitstellen können. Weitere Informationen zum Bereitstellen von Komponenten finden Sie unter Bereitstellen von AWS IoT Greengrass Komponenten auf Geräten.

Jede Komponente besteht aus einem Rezept und Artefakten .

  • Rezepte

    Jede Komponente enthält eine Rezeptdatei, die ihre Metadaten definiert. Das Rezept gibt auch die Konfigurationsparameter, Komponentenabhängigkeiten, den Lebenszyklus und die Plattformkompatibilität der Komponente an. Der Komponentenlebenszyklus definiert die Befehle, die die Komponente installieren, ausführen und herunterfahren. Weitere Informationen finden Sie unter AWS IoT Greengrass Referenz zu -Komponentenrezepten.

    Sie können Rezepte im JSON- oder YAML-Format definieren.

  • Artefakte

    Komponenten können eine beliebige Anzahl von Artefakten haben, bei denen es sich um Komponenten-Binärdateien handelt. Artefakte können Skripts, kompilierten Code, statische Ressourcen und alle anderen Dateien enthalten, die eine Komponente verbraucht. Komponenten können auch Artefakte aus Komponentenabhängigkeiten verwenden.

AWS IoT Greengrass bietet vorgefertigte Komponenten, die Sie in Ihren Anwendungen verwenden und auf Ihren Geräten bereitstellen können. Sie können beispielsweise die Stream-Manager-Komponente verwenden, um Daten in verschiedene -AWSServices hochzuladen, oder Sie können die CloudWatch Metrikkomponente verwenden, um benutzerdefinierte Metriken in Amazon zu veröffentlichen CloudWatch. Weitere Informationen finden Sie unter AWSVon bereitgestellte Komponenten.

AWS IoT Greengrass kuratiert einen Index von Greengrass-Komponenten, der als Greengrass Software Catalog bezeichnet wird. Dieser Katalog verfolgt Greengrass-Komponenten, die von der Greengrass-Community entwickelt wurden. In diesem Katalog können Sie Komponenten herunterladen, ändern und bereitstellen, um Ihre Greengrass-Anwendungen zu erstellen. Weitere Informationen finden Sie unter Komponenten der Gemeinschaft.

Die AWS IoT Greengrass Core-Software führt Komponenten als Systembenutzer und -gruppe aus, z. B. ggc_user und ggc_group, die Sie auf dem Core-Gerät konfigurieren. Das bedeutet, dass Komponenten über die Berechtigungen dieses Systembenutzers verfügen. Wenn Sie einen Systembenutzer ohne Basisverzeichnis verwenden, können Komponenten keine Ausführungsbefehle oder Code verwenden, die ein Basisverzeichnis verwenden. Das bedeutet, dass Sie den pip install some-library --user Befehl nicht verwenden können, um Python-Pakete zu installieren. Wenn Sie das Tutorial „Erste Schritte“ befolgt haben, um Ihr Core-Gerät einzurichten, hat Ihr Systembenutzer kein Stammverzeichnis. Weitere Informationen zum Konfigurieren des Benutzers und der Gruppe, die Komponenten ausführen, finden Sie unter Konfigurieren Sie den Benutzer, der die Komponenten ausführt.

Anmerkung

AWS IoT Greengrass verwendet semantische Versionen für -Komponenten. Semantische Versionen folgen einem größeren Patch-Nummernsystem. Die -Version 1.0.0 stellt beispielsweise die erste Hauptversion für eine Komponente dar. Weitere Informationen finden Sie in der semantischen Versionsspezifikation .

Komponentenlebenszyklus

Der Komponentenlebenszyklus definiert die Phasen, die die AWS IoT Greengrass Core-Software zum Installieren und Ausführen von Komponenten verwendet. Jede Phase definiert ein Skript und andere Informationen, die angeben, wie sich die Komponente verhält. Wenn Sie beispielsweise eine Komponente installieren, führt die AWS IoT Greengrass Core-Software das Install Lebenszyklusskript für diese Komponente aus. Komponenten auf Core-Geräten haben die folgenden Lebenszyklusstatus:

  • NEW – Das Rezept und die Artefakte der Komponente werden auf das Core-Gerät geladen, die Komponente ist jedoch nicht installiert. Nachdem eine Komponente in diesen Zustand übergegangen ist, führt sie ihr Installationsskript aus.

  • INSTALLED – Die Komponente ist auf dem Core-Gerät installiert. Die Komponente wechselt in diesen Zustand, nachdem sie ihr Installationsskript ausgeführt hat.

  • STARTING – Die Komponente beginnt auf dem Core-Gerät. Die Komponente wechselt in diesen Zustand, wenn sie ihr Startskript ausführt. Wenn der Startvorgang erfolgreich ist, wechselt die Komponente in den -RUNNINGStatus.

  • RUNNING – Die Komponente wird auf dem Core-Gerät ausgeführt. Die Komponente wechselt in diesen Zustand, wenn sie ihr Ausführungsskript ausführt oder wenn sie aktive Hintergrundprozesse von ihrem Startskript hat.

  • FINISHED – Die Komponente wurde erfolgreich ausgeführt und ihre Ausführung wurde abgeschlossen.

  • STOPPING – Die Komponente wird angehalten. Die Komponente wechselt in diesen Zustand, wenn sie ihr Shutdown-Skript ausführt.

  • ERRORED – Bei der Komponente ist ein Fehler aufgetreten. Wenn die Komponente in diesen Zustand wechselt, führt sie ihr Wiederherstellungsskript aus. Anschließend wird die Komponente neu gestartet, um zu versuchen, zur normalen Verwendung zurückzukehren. Wenn die Komponente ohne erfolgreichen Lauf dreimal in den -ERROREDZustand wechselt, wird die Komponente zu BROKEN.

  • BROKEN – Bei der Komponente sind mehrmals Fehler aufgetreten und sie kann nicht wiederhergestellt werden. Sie müssen die Komponente erneut bereitstellen, um sie zu reparieren.

Komponententypen

Der Komponententyp gibt an, wie die AWS IoT Greengrass Core-Software die Komponente ausführt. Komponenten können die folgenden Typen haben:

  • Bol (aws.greengrass.nucleus)

    Der Greengrass-Kern ist die Komponente, die die Mindestfunktionalität der AWS IoT Greengrass-Core-Software bietet. Weitere Informationen finden Sie unter Grüngraskern.

  • Plugin (aws.greengrass.plugin)

    Der Greengrass-Kernus führt eine Plugin-Komponente in derselben Java Virtual Machine (JVM) wie der Kernus aus. Der Kern wird neu gestartet, wenn Sie die Version einer Plugin-Komponente auf einem Core-Gerät ändern. Um Plugin-Komponenten zu installieren und auszuführen, müssen Sie den Greengrass-Kern für die Ausführung als Systemservice konfigurieren. Weitere Informationen finden Sie unter Den Greengrass Nucleus als Systemdienst konfigurieren.

    Mehrere Komponenten, die von bereitgestellt werden, AWS sind Plugin-Komponenten, mit denen sie direkt mit dem Greengrass-Kern verbunden werden können. Plugin-Komponenten verwenden dieselbe Protokolldatei wie der Greengrass-Kern. Weitere Informationen finden Sie unter Überwachen von AWS IoT Greengrass Protokollen.

  • Allgemein (aws.greengrass.generic)

    Der Greengrass-Kern führt die Lebenszyklusskripte einer generischen Komponente aus, wenn die Komponente einen Lebenszyklus definiert.

    Dieser Typ ist der Standardtyp für benutzerdefinierte Komponenten.

  • Lambda (aws.greengrass.lambda)

    Der Greengrass-Kern führt eine Lambda-Funktionskomponente mit der Lambda-Launcher-Komponente aus.

    Wenn Sie eine Komponente aus einer Lambda-Funktion erstellen, hat die Komponente diesen Typ. Weitere Informationen finden Sie unter Ausführen von -AWS LambdaFunktionen.

Anmerkung

Es wird nicht empfohlen, den Komponententyp in einem Rezept anzugeben. AWS IoT Greengrass legt den Typ für Sie fest, wenn Sie eine Komponente erstellen.