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.
Veröffentlichen Sie Komponenten zur Bereitstellung auf Ihren Kerngeräten
Nachdem Sie eine Version einer Komponente erstellt oder fertiggestellt haben, können Sie sie im AWS IoT Greengrass Service veröffentlichen. Anschließend können Sie es auf Greengrass-Kerngeräten bereitstellen.
Wenn Sie das Greengrass Development Kit CLI (GDKCLI) verwenden, um eine Komponente zu entwickeln und zu erstellen, können Sie das verwenden, GDK CLI um die Komponente in der AWS Cloud zu veröffentlichen. Verwenden Sie andernfalls die integrierten Shell-Befehle und die AWS CLI, um die Komponente zu veröffentlichen.
Sie können es auch verwenden AWS CloudFormation , um Komponenten und andere AWS Ressourcen aus Vorlagen zu erstellen. Weitere Informationen finden Sie unter Was ist AWS CloudFormation? und AWS::GreengrassV2::ComponentVersionim AWS CloudFormation Benutzerhandbuch.
Themen
Veröffentlichen Sie eine Komponente (GDKCLI)
Folgen Sie den Anweisungen in diesem Abschnitt, um eine Komponente mit dem zu veröffentlichen GDKCLI. Der GDK CLI lädt Build-Artefakte in einen S3-Bucket hoch, aktualisiert das Artefakt URIs im Rezept und erstellt die Komponente aus dem Rezept. Sie geben den S3-Bucket und die Region an, die in der GDKCLIKonfigurationsdatei verwendet werden sollen.
Wenn Sie GDK CLI Version 1.1.0 oder höher verwenden, können Sie das --bucket
Argument angeben, um den S3-Bucket anzugeben, in den die Artefakte der Komponente GDK CLI hochgeladen werden. Wenn Sie dieses Argument nicht angeben, werden die GDK CLI Uploads in den S3-Bucket ausgeführt, dessen Name lautet, wobei bucket
-region
-accountId
bucket
and region
sind die Werte, die Sie angebengdk-config.json
, und accountId
ist deine AWS-Konto ID. Der GDK CLI erstellt den Bucket, falls er nicht existiert.
Wichtig
Die wichtigsten Geräterollen ermöglichen standardmäßig keinen Zugriff auf S3-Buckets. Wenn Sie diesen S3-Bucket zum ersten Mal verwenden, müssen Sie der Rolle Berechtigungen hinzufügen, damit Kerngeräte Komponentenartefakte aus diesem S3-Bucket abrufen können. Weitere Informationen finden Sie unter Erlauben Sie den Zugriff auf S3-Buckets für Komponentenartefakte.
Um eine Greengrass-Komponente zu veröffentlichen () GDK CLI
-
Öffnen Sie den Komponentenordner in einer Befehlszeile oder einem Terminal.
-
Falls Sie es noch nicht getan haben, erstellen Sie die Greengrass-Komponente. Der Befehl zum Erstellen von Komponenten erzeugt ein Rezept und Artefakte in dem
greengrass-build
Ordner im Komponentenordner. Führen Sie den folgenden Befehl aus.gdk component build
-
Publizieren Sie die Komponente im AWS Cloud. Der Befehl zum Veröffentlichen von Komponenten lädt die Artefakte der Komponente auf Amazon S3 hoch und aktualisiert das Rezept der Komponente mit den einzelnen Artefakten. URI Anschließend wird die Komponente im Service erstellt. AWS IoT Greengrass
Anmerkung
AWS IoT Greengrass berechnet den Digest jedes Artefakts, wenn Sie die Komponente erstellen. Das bedeutet, dass Sie die Artefaktdateien in Ihrem S3-Bucket nicht ändern können, nachdem Sie eine Komponente erstellt haben. Wenn Sie dies tun, schlagen Bereitstellungen fehl, die diese Komponente enthalten, da der Datei-Digest nicht übereinstimmt. Wenn Sie eine Artefaktdatei ändern, müssen Sie eine neue Version der Komponente erstellen.
Wenn Sie in der GDK CLI Konfigurationsdatei
NEXT_PATCH
für die Komponentenversion angeben, GDK CLI wird die nächste Patch-Version verwendet, die noch nicht im AWS IoT Greengrass Dienst vorhanden ist.Führen Sie den folgenden Befehl aus.
gdk component publish
Die Ausgabe gibt Auskunft über die Version der Komponente, die GDK CLI erstellt wurde.
Nachdem Sie die Komponente veröffentlicht haben, können Sie sie auf Kerngeräten bereitstellen. Weitere Informationen finden Sie unter Bereitstellen von AWS IoT Greengrass Komponenten auf Geräten.
Veröffentlichen Sie eine Komponente (Shell-Befehle)
Gehen Sie wie folgt vor, um eine Komponente mithilfe von Shell-Befehlen und AWS Command Line Interface (AWS CLI) zu veröffentlichen. Wenn Sie eine Komponente veröffentlichen, gehen Sie wie folgt vor:
-
Veröffentlichen Sie Komponentenartefakte in einem S3-Bucket.
-
Fügen Sie den Amazon S3 jedes Artefakts URI zum Komponentenrezept hinzu.
-
Erstellen Sie eine Komponentenversion AWS IoT Greengrass aus dem Komponentenrezept.
Anmerkung
Jede Komponentenversion, die Sie hochladen, muss einzigartig sein. Stellen Sie sicher, dass Sie die richtige Komponentenversion hochladen, da Sie sie nach dem Hochladen nicht mehr bearbeiten können.
Sie können diesen Schritten folgen, um eine Komponente von Ihrem Entwicklungscomputer oder Ihrem Greengrass-Core-Gerät aus zu veröffentlichen.
Um eine Komponente zu veröffentlichen (Shell-Befehle)
-
Wenn die Komponente eine Version verwendet, die im AWS IoT Greengrass Service vorhanden ist, müssen Sie die Version der Komponente ändern. Öffnen Sie das Rezept in einem Texteditor, erhöhen Sie die Version und speichern Sie die Datei. Wählen Sie eine neue Version, die die Änderungen widerspiegelt, die Sie an der Komponente vorgenommen haben.
Anmerkung
AWS IoT Greengrass verwendet semantische Versionen für Komponenten. Semantische Versionen folgen einem Hauptteil. geringfügig. Patch-Nummernsystem. Version
1.0.0
steht beispielsweise für die erste Hauptversion einer Komponente. Weitere Informationen finden Sie in der semantischen Versionsspezifikation. -
Wenn Ihre Komponente Artefakte enthält, gehen Sie wie folgt vor:
-
Veröffentlichen Sie die Artefakte der Komponente in einem S3-Bucket in Ihrem AWS-Konto.
Tipp
Wir empfehlen, dass Sie den Namen und die Version der Komponente in den Pfad zum Artefakt im S3-Bucket aufnehmen. Dieses Benennungsschema kann Ihnen helfen, die Artefakte beizubehalten, die in früheren Versionen der Komponente verwendet wurden, sodass Sie frühere Komponentenversionen weiterhin unterstützen können.
Führen Sie den folgenden Befehl aus, um eine Artefaktdatei in einem S3-Bucket zu veröffentlichen. Ersetzen Sie amzn-s3-demo-bucket durch den Namen des Buckets und ersetzen Sie
artifacts/com.example.HelloWorld/1.0.0/artifact.py
mit dem Pfad zur Artefaktdatei.aws s3 cp
artifacts/com.example.HelloWorld/1.0.0/artifact.py
s3://amzn-s3-demo-bucket/artifacts/com.example.HelloWorld/1.0.0/artifact.py
Wichtig
Core-Geräterollen erlauben standardmäßig keinen Zugriff auf S3-Buckets. Wenn Sie diesen S3-Bucket zum ersten Mal verwenden, müssen Sie der Rolle Berechtigungen hinzufügen, damit Kerngeräte Komponentenartefakte aus diesem S3-Bucket abrufen können. Weitere Informationen finden Sie unter Erlauben Sie den Zugriff auf S3-Buckets für Komponentenartefakte.
-
Fügen Sie dem Komponentenrezept eine Liste mit einem Namen
Artifacts
hinzu, falls diese nicht vorhanden ist. DieArtifacts
Liste erscheint in jedem Manifest, das die Anforderungen der Komponente auf jeder Plattform definiert, die sie unterstützt (oder die Standardanforderungen der Komponente für alle Plattformen). -
Fügen Sie jedes Artefakt zur Liste der Artefakte hinzu oder aktualisieren Sie die URI vorhandenen Artefakte. Amazon S3 URI besteht aus dem Bucket-Namen und dem Pfad zum Artefaktobjekt im Bucket. Der Amazon S3 Ihrer Artefakte URIs sollte dem folgenden Beispiel ähneln.
s3://amzn-s3-demo-bucket/artifacts/com.example.HelloWorld/1.0.0/artifact.py
Nachdem Sie diese Schritte abgeschlossen haben, sollte Ihr Rezept eine
Artifacts
Liste enthalten, die wie die folgende aussieht.Weitere Informationen zu Rezepten finden Sie unter AWS IoT Greengrass Referenz zum Komponenten-Rezept.
-
-
Verwenden Sie die AWS IoT Greengrass Konsole, um eine Komponente aus der Rezeptdatei zu erstellen.
Führen Sie den folgenden Befehl aus, um die Komponente aus einer Rezeptdatei zu erstellen. Dieser Befehl erstellt die Komponente und veröffentlicht sie als private AWS IoT Greengrass Komponente in Ihrem AWS-Konto. Ersetzen
path/to/recipeFile
mit dem Pfad zur Rezeptdatei.aws greengrassv2 create-component-version --inline-recipe fileb://
path/to/recipeFile
Kopieren Sie das
arn
aus der Antwort, um im nächsten Schritt den Status der Komponente zu überprüfen.Anmerkung
AWS IoT Greengrass berechnet den Digest jedes Artefakts, wenn Sie die Komponente erstellen. Das bedeutet, dass Sie die Artefaktdateien in Ihrem S3-Bucket nicht ändern können, nachdem Sie eine Komponente erstellt haben. Wenn Sie dies tun, schlagen Bereitstellungen fehl, die diese Komponente enthalten, da der Datei-Digest nicht übereinstimmt. Wenn Sie eine Artefaktdatei ändern, müssen Sie eine neue Version der Komponente erstellen.
-
Jede Komponente im AWS IoT Greengrass Service hat einen Status. Führen Sie den folgenden Befehl aus, um den Status der Komponentenversion zu überprüfen, die Sie in diesem Verfahren veröffentlichen. Ersetzen
com.example.HelloWorld
and1.0.0
mit der abzufragenden Komponentenversion. Ersetzen Sie diearn
durch die ARN aus dem vorherigen Schritt.aws greengrassv2 describe-component --arn "arn:aws:greengrass:
region
:account-id
:components:com.example.HelloWorld
:versions:1.0.0
"Der Vorgang gibt eine Antwort zurück, die die Metadaten der Komponente enthält. Die Metadaten enthalten ein
status
Objekt, das den Status der Komponente und etwaige Fehler enthält.Wenn der Komponentenstatus lautet
DEPLOYABLE
, können Sie die Komponente auf Geräten bereitstellen. Weitere Informationen finden Sie unter Bereitstellen von AWS IoT Greengrass Komponenten auf Geräten.