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.
Erstellen von AWS IoT Greengrass Komponenten
Sie können benutzerdefinierte AWS IoT Greengrass Komponenten auf einem lokalen Entwicklungscomputer oder einem Greengrass-Core-Gerät entwickeln. AWS IoT Greengrass stellt die AWS IoT Greengrass Development Kit Command-Line Interface (GDK CLI) bereit, um Sie beim Erstellen, Erstellen und Veröffentlichen von Komponenten aus vordefinierten Komponentenvorlagen und Community-Komponenten zu unterstützen. Sie können auch integrierte Shell-Befehle ausführen, um Komponenten zu erstellen, zu erstellen und zu veröffentlichen. Wählen Sie aus den folgenden Optionen, um benutzerdefinierte Greengrass-Komponenten zu erstellen:
-
Verwenden der Greengrass Development Kit CLI
Verwenden Sie die GDK-CLI, um Komponenten auf einem lokalen Entwicklungscomputer zu entwickeln. Die GDK-CLI erstellt und verpackt Quellcode der Komponenten in ein Rezept und Artefakte, die Sie als private Komponente für den AWS IoT Greengrass Service veröffentlichen können. Sie können die GDK-CLI so konfigurieren, dass die Versions- und Artefakt-URIs der Komponente automatisch aktualisiert werden, wenn Sie die Komponente veröffentlichen, sodass Sie das Rezept nicht jedes Mal aktualisieren müssen. Um eine Komponente mit der GDK-CLI zu entwickeln, können Sie mit einer Vorlage oder einer Community-Komponente aus dem Greengrass Software Catalog beginnen. Weitere Informationen finden Sie unter AWS IoT Greengrass Befehlszeilenschnittstelle des Development Kit.
-
Ausführen von integrierten Shell-Befehlen
Sie können integrierte Shell-Befehle ausführen, um Komponenten auf einem lokalen Entwicklungscomputer oder auf einem Greengrass-Core-Gerät zu entwickeln. Sie verwenden Shell-Befehle zum Kopieren oder Erstellen von Komponentenquellcode in Artefakte. Jedes Mal, wenn Sie eine neue Version einer Komponente erstellen, müssen Sie das Rezept mit der neuen Komponentenversion erstellen oder aktualisieren. Wenn Sie die Komponente im AWS IoT Greengrass Service veröffentlichen, müssen Sie den URI auf jedes Komponentenartefakt im Rezept aktualisieren.
Erstellen einer Komponente (GDK CLI)
Folgen Sie den Anweisungen in diesem Abschnitt, um eine Komponente mit der GDK-CLI zu erstellen und zu erstellen.
So entwickeln Sie eine Greengrass-Komponente (GDK CLI)
-
Falls noch nicht geschehen, installieren Sie die GDK-CLI auf Ihrem Entwicklungscomputer. Weitere Informationen finden Sie unter Installieren oder Aktualisieren der AWS IoT Greengrass Development-Kit-Befehlszeilenschnittstelle.
-
Wechseln Sie zu dem Ordner, in dem Sie Komponentenordner erstellen möchten.
-
Wählen Sie eine Komponentenvorlage oder Community-Komponente zum Herunterladen aus. Die GDK-CLI lädt die Vorlage oder die Community-Komponente herunter, sodass Sie von einem funktionierenden Beispiel ausgehen können. Verwenden Sie den Komponentenlistenbefehl, um die Liste der verfügbaren Vorlagen oder Community-Komponenten abzurufen.
-
Führen Sie den folgenden Befehl aus, um Komponentenvorlagen aufzulisten. Jede Zeile in der Antwort enthält den Namen und die Programmiersprache einer Vorlage.
gdk component list --template
-
Führen Sie den folgenden Befehl aus, um Community-Komponenten aufzulisten.
gdk component list --repository
-
-
Erstellen Sie einen Komponentenordner, in dem die GDK-CLI die Vorlage oder die Community-Komponente herunterlädt, und ändern Sie ihn. Ersetzen Sie
HelloWorld
durch den Namen der Komponente oder einen anderen Namen, der Ihnen hilft, diesen Komponentenordner zu identifizieren. -
Laden Sie die Vorlage oder die Community-Komponente in den aktuellen Ordner herunter. Verwenden Sie den Befehl component init.
-
Führen Sie den folgenden Befehl aus, um einen Komponentenordner aus einer Vorlage zu erstellen. Ersetzen Sie
HelloWorld
durch den Namen der Vorlage und ersetzen SiePython
durch den Namen der Programmiersprache.gdk component init --template
HelloWorld
--languagepython
-
Führen Sie den folgenden Befehl aus, um einen Komponentenordner aus einer Community-Komponente zu erstellen. Ersetzen Sie
ComponentName
durch den Namen der Community-Komponente.gdk component init --repository
ComponentName
Anmerkung
Wenn Sie GDK CLI v1.0.0 verwenden, müssen Sie diesen Befehl in einem leeren Ordner ausführen. Die GDK-CLI lädt die Vorlage oder die Community-Komponente in den aktuellen Ordner herunter.
Wenn Sie GDK CLI v1.1.0 oder höher verwenden, können Sie das
--name
Argument angeben, um den Ordner anzugeben, in den die GDK CLI die Vorlage oder Community-Komponente herunterlädt. Wenn Sie dieses Argument verwenden, geben Sie einen Ordner an, der nicht vorhanden ist. Die GDK-CLI erstellt den Ordner für Sie. Wenn Sie dieses Argument nicht angeben, verwendet die GDK-CLI den aktuellen Ordner, der leer sein muss. -
-
Die GDK-CLI liest aus der GDK-CLI-Konfigurationsdatei mit dem Namen
gdk-config.json
, um Komponenten zu erstellen und zu veröffentlichen. Diese Konfigurationsdatei ist im Stammverzeichnis des Komponentenordners vorhanden. Im vorherigen Schritt wird diese Datei für Sie erstellt. In diesem Schritt aktualisieren Siegdk-config.json
mit Informationen zu Ihrer Komponente. Gehen Sie wie folgt vor:-
Öffnen Sie
gdk-config.json
in einem Texteditor. -
(Optional) Ändern Sie den Namen der Komponente. Der Komponentenname ist der Schlüssel im
component
Objekt. -
Ändern Sie den Autor der Komponente.
-
(Optional) Ändern Sie die Version der Komponente. Geben Sie eines der folgenden Elemente an:
-
NEXT_PATCH
– Wenn Sie diese Option wählen, legt die GDK-CLI die Version fest, wenn Sie die Komponente veröffentlichen. Die GDK-CLI fragt den AWS IoT Greengrass Service ab, um die neueste veröffentlichte Version der Komponente zu identifizieren. Anschließend wird die Version auf die nächste Patch-Version nach dieser Version festgelegt. Wenn Sie die Komponente noch nicht veröffentlicht haben, verwendet die GDK-CLI Version1.0.0
.Wenn Sie diese Option wählen, können Sie die Greengrass-CLI nicht verwenden, um die Komponente lokal auf Ihrem lokalen Entwicklungscomputer bereitzustellen und zu testen, auf dem die AWS IoT Greengrass Core-Software ausgeführt wird. Um lokale Bereitstellungen zu aktivieren, müssen Sie stattdessen eine semantische Version angeben.
-
Eine semantische Version, z. B.
1.0.0
. Semantische Versionen verwenden ein Hauptversions-.Nebenversions-.Patch-Nummerierungssystem. Weitere Informationen finden Sie in der semantischen Versionsspezifikation. Wenn Sie Komponenten auf einem Greengrass-Core-Gerät entwickeln, auf dem Sie die Komponente bereitstellen und testen möchten, wählen Sie diese Option. Sie müssen die Komponente mit einer bestimmten Version erstellen, um lokale Bereitstellungen mit der Greengrass-CLI zu erstellen.
-
-
(Optional) Ändern Sie die Build-Konfiguration für die Komponente. Die Build-Konfiguration definiert, wie die GDK-CLI die Quelle der Komponente in Artefakte umwandelt. Wählen Sie aus den folgenden Optionen für
build_system
:-
zip
– Verpackt den Ordner der Komponente in eine ZIP-Datei, um als einziges Artefakt der Komponente zu definieren. Wählen Sie diese Option für die folgenden Komponententypen aus:-
Komponenten, die interpretierte Programmiersprachen verwenden, wie Python oder JavaScript.
-
Komponenten, die andere Dateien als Code verpacken, z. B. Machine-Learning-Modelle oder andere Ressourcen.
Die GDK-CLI komprimiert den Ordner der Komponente in eine ZIP-Datei mit demselben Namen wie der Komponentenordner. Wenn der Name des Komponentenordners beispielsweise lautet
HelloWorld
, erstellt die GDK-CLI eine ZIP-Datei mit dem NamenHelloWorld.zip
.Anmerkung
Wenn Sie GDK CLI Version 1.0.0 auf einem Windows-Gerät verwenden, dürfen der Komponentenordner und die ZIP-Dateinamen nur Kleinbuchstaben enthalten.
Wenn die GDK-CLI den Ordner der Komponente in eine ZIP-Datei komprimiert, überspringt sie die folgenden Dateien:
-
Die Datei
gdk-config.json
-
Die Rezeptdatei (
recipe.json
oderrecipe.yaml
) -
Erstellen von Ordnern, z. B.
greengrass-build
-
-
maven
– Führt denmvn clean package
Befehl aus, um die Quelle der Komponente in Artefakte zu erstellen. Wählen Sie diese Option für Komponenten aus, die Mavenverwenden, z. B. Java-Komponenten. Auf Windows-Geräten ist diese Funktion für GDK CLI v1.1.0 und höher verfügbar.
-
gradle
– Führt dengradle build
Befehl aus, um die Quelle der Komponente in Artefakte zu erstellen. Wählen Sie diese Option für Komponenten aus, die Gradleverwenden. Diese Funktion ist für GDK CLI v1.1.0 und höher verfügbar. Das
gradle
Build-System unterstützt Kotlin DSL als Build-Datei. Diese Funktion ist für GDK CLI v1.2.0 und höher verfügbar. -
gradlew
– Führt dengradlew
Befehl aus, um die Quelle der Komponente in Artefakte zu erstellen. Wählen Sie diese Option für Komponenten aus, die den Gradle Wrapperverwenden. Diese Funktion ist für GDK CLI v1.2.0 und höher verfügbar.
-
custom
– Führt einen benutzerdefinierten Befehl aus, um die Quelle der Komponente in ein Rezept und Artefakte zu integrieren. Geben Sie den benutzerdefinierten Befehl imcustom_build_command
Parameter an.
-
-
Wenn Sie
custom
für angebenbuild_system
, fügen Sie dembuild
Objektcustom_build_command
hinzu. Geben Siecustom_build_command
in eine einzelne Zeichenfolge oder eine Liste von Zeichenfolgen an, wobei jede Zeichenfolge ein Wort im Befehl ist. Um beispielsweise einen benutzerdefinierten Build-Befehl für eine C++-Komponente auszuführen, können Sie angeben["cmake", "--build", "build", "--config", "Release"]
. -
Wenn Sie GDK CLI v1.1.0 oder höher verwenden, können Sie das
--bucket
Argument angeben, um den S3-Bucket anzugeben, in den die GDK CLI die Artefakte der Komponente hochlädt. Wenn Sie dieses Argument nicht angeben, lädt die GDK-CLI in den S3-Bucket hoch, dessen Name lautet
, wobeibucket
-region
-accountId
Bucket
undRegion
die Werte sind, die Sie in angebengdk-config.json
, undaccountId
Ihre AWS-Konto -ID ist. Die GDK-CLI erstellt den Bucket, wenn er nicht vorhanden ist.Ändern Sie die Veröffentlichungskonfiguration für die Komponente. Gehen Sie wie folgt vor:
-
Geben Sie den Namen des S3-Buckets an, der zum Hosten von Komponentenartefakten verwendet werden soll.
-
Geben Sie die an AWS-Region , in der die GDK-CLI die Komponente veröffentlicht.
-
Wenn Sie mit diesem Schritt fertig sind, könnte die
gdk-config.json
Datei ähnlich wie im folgenden Beispiel aussehen.{ "component": { "com.example.PythonHelloWorld": { "author": "Amazon", "version": "NEXT_PATCH", "build": { "build_system" : "zip" }, "publish": { "bucket": "greengrass-component-artifacts", "region": "us-west-2" } } }, "gdk_version": "1.0.0" }
-
-
Aktualisieren Sie die Komponentenrezeptdatei mit dem Namen
recipe.yaml
oderrecipe.json
. Gehen Sie wie folgt vor:-
Wenn Sie eine Vorlage oder Community-Komponente heruntergeladen haben, die das
zip
Build-System verwendet, überprüfen Sie, ob der Name des ZIP-Artefakts mit dem Namen des Komponentenordners übereinstimmt. Die GDK-CLI komprimiert den Komponentenordner in eine ZIP-Datei mit demselben Namen wie der Komponentenordner. Das Rezept enthält den Namen des ZIP-Artefakts in der Liste der Komponentenartefakte und in Lebenszyklusskripten, die Dateien im ZIP-Artefakt verwenden. Aktualisieren Sie dieLifecycle
DefinitionenArtifacts
und so, dass der ZIP-Dateiname mit dem Namen des Komponentenordners übereinstimmt. In den folgenden partiellen Rezeptbeispielen wird der ZIP-Dateiname in denLifecycle
DefinitionenArtifacts
und hervorgehoben. -
(Optional) Aktualisieren Sie die Beschreibung der Komponente, die Standardkonfiguration, Artefakte, Lebenszyklusskripte und die Plattformunterstützung. Weitere Informationen finden Sie unter AWS IoT Greengrass Referenz zum Komponenten-Rezept.
Wenn Sie mit diesem Schritt fertig sind, könnte die Rezeptdatei den folgenden Beispielen ähneln.
-
-
Entwickeln und erstellen Sie die Greengrass-Komponente. Der Befehl component build erzeugt ein Rezept und Artefakte im
greengrass-build
Ordner im Komponentenordner. Führen Sie den folgenden Befehl aus.gdk component build
Wenn Sie bereit sind, Ihre Komponente zu testen, verwenden Sie die GDK-CLI, um sie im AWS IoT Greengrass Service zu veröffentlichen. Anschließend können Sie die Komponente auf Greengrass-Core-Geräten bereitstellen. Weitere Informationen finden Sie unter Veröffentlichen Sie Komponenten zur Bereitstellung auf Ihren Kerngeräten.
Erstellen einer Komponente (Shell-Befehle)
Folgen Sie den Anweisungen in diesem Abschnitt, um Rezept- und Artefaktordner zu erstellen, die Quellcode und Artefakte für mehrere Komponenten enthalten.
So entwickeln Sie eine Greengrass-Komponente (Shell-Befehle)
-
Erstellen Sie einen Ordner für Ihre Komponenten mit Unterordnern für Rezepte und Artefakte. Führen Sie die folgenden Befehle auf Ihrem Greengrass-Core-Gerät aus, um diese Ordner zu erstellen und zum Komponentenordner zu wechseln. Ersetzen Sie
~/greengrassv2
oder%USERPROFILE%\greengrassv2
durch den Pfad zum Ordner, der für die lokale Entwicklung verwendet werden soll. -
Verwenden Sie einen Texteditor, um eine Rezeptdatei zu erstellen, die die Metadaten, Parameter, Abhängigkeiten, den Lebenszyklus und die Plattformfunktionen Ihrer Komponente definiert. Fügen Sie die Komponentenversion in den Rezeptdateinamen ein, damit Sie identifizieren können, welches Rezept welche Komponentenversion widerspiegelt. Sie können das YAML- oder JSON-Format für Ihr Rezept auswählen.
Auf einem Linux-basierten System können Sie beispielsweise den folgenden Befehl ausführen, um GNU Nano zum Erstellen der Datei zu verwenden.
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. -
Definieren Sie das Rezept für Ihre Komponente. Weitere Informationen finden Sie unter AWS IoT Greengrass Referenz zum Komponenten-Rezept.
Ihr Rezept könnte dem folgenden Hello World-Beispielrezept ähneln.
Dieses Rezept führt ein Hello World Python-Skript aus, das dem folgenden Beispielskript ähneln könnte.
import sys message = "Hello, %s!" % sys.argv[1] # Print the message to stdout, which Greengrass saves in a log file. print(message)
-
Erstellen Sie einen Ordner für die zu entwickelnde Komponentenversion. Wir empfehlen Ihnen, für die Artefakte jeder Komponentenversion einen separaten Ordner zu verwenden, damit Sie ermitteln können, welche Artefakte für jede Komponentenversion gelten. Führen Sie den folgenden Befehl aus.
Wichtig
Sie müssen das folgende Format für den Pfad des Artefaktordners verwenden. Fügen Sie den Komponentennamen und die Version ein, die Sie im Rezept angeben.
artifacts/
componentName
/componentVersion
/ -
Erstellen Sie die Artefakte für Ihre Komponente in dem Ordner, den Sie im vorherigen Schritt erstellt haben. Artefakte können Software, Bilder und andere Binärdateien enthalten, die Ihre Komponente verwendet.
Wenn Ihre Komponente bereit ist, testen Sie Ihre Komponente .