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.
Anmerkung
Die Subdeployment-Funktion ist in Greengrass Nucleus Version 2.9.0 und höher verfügbar. Es ist nicht möglich, eine Konfiguration für eine Unterbereitstellung mit früheren Komponentenversionen von Greengrass Nucleus bereitzustellen.
Eine Unterbereitstellung ist eine Bereitstellung, die auf eine kleinere Teilmenge von Geräten innerhalb einer übergeordneten Bereitstellung abzielt. Sie können Unterbereitstellungen verwenden, um eine Konfiguration für eine kleinere Teilmenge von Geräten bereitzustellen. Sie können auch Unterbereitstellungen erstellen, um eine fehlgeschlagene übergeordnete Bereitstellung erneut zu versuchen, wenn ein oder mehrere Geräte in dieser übergeordneten Bereitstellung ausfallen. Mit dieser Funktion können Sie Geräte auswählen, die in dieser übergeordneten Bereitstellung ausgefallen sind, und eine Unterbereitstellung erstellen, um Konfigurationen zu testen, bis die Unterbereitstellung erfolgreich ist. Sobald die Unterbereitstellung erfolgreich ist, können Sie diese Konfiguration erneut für die übergeordnete Bereitstellung bereitstellen.
Folgen Sie den Schritten in diesem Abschnitt, um eine Unterbereitstellung zu erstellen und ihren Status zu überprüfen. Weitere Informationen zum Erstellen von Bereitstellungen finden Sie unter Bereitstellungen erstellen.
So erstellen Sie eine Unterbereitstellung ()AWS CLI
-
Führen Sie den folgenden Befehl aus, um die neuesten Bereitstellungen für eine Dinggruppe abzurufen. Ersetzen Sie den ARN im Befehl durch den ARN der abzufragenden Dinggruppe. Stellen Sie
auf--history-filter
LATEST_ONLY
ein, um die neueste Bereitstellung dieser Dinggruppe zu sehen.aws greengrassv2 list-deployments
--target-arn
arn:aws:iot:region
:account-id
:thinggroup/thingGroupName
--history-filter
LATEST_ONLY
-
Kopieren Sie den
deploymentId
aus der Antwort in den list-deployments Befehl, um ihn im nächsten Schritt zu verwenden. -
Führen Sie den folgenden Befehl aus, um den Status einer Bereitstellung abzurufen.
Ersetzen Sie ihn durch die ID der Bereitstellung, die abgefragt werden soll.deploymentId
aws greengrassv2 get-deployment
--deployment-id
deploymentId
-
Kopieren Sie den
iotJobId
aus der Antwort in den get-deployment Befehl, der im folgenden Schritt verwendet werden soll. -
Führen Sie den folgenden Befehl aus, um die Liste der Auftragsausführungen für den angegebenen Job abzurufen.
jobID
Ersetzen Sie durch deniotJobId
aus dem vorherigen Schritt.status
Ersetzen Sie durch den Status, nach dem Sie filtern möchten. Sie können Ergebnisse mit den folgenden Status filtern:-
QUEUED
-
IN_PROGRESS
-
SUCCEEDED
-
FAILED
-
TIMED_OUT
-
REJECTED
-
REMOVED
-
CANCELED
aws iot list-job-executions-for-job
--job-id
jobID
--status
status
-
-
Erstellen Sie eine neue AWS IoT Dinggruppe oder verwenden Sie eine vorhandene Dinggruppe für Ihre Unterbereitstellung. Fügen Sie dann dieser Dinggruppe ein AWS IoT Ding hinzu. Sie verwenden Dinggruppen, um Flotten von Greengrass-Kerngeräten zu verwalten. Wenn Sie Softwarekomponenten auf Ihren Geräten bereitstellen, können Sie entweder einzelne Geräte oder Gerätegruppen als Ziel auswählen. Sie können ein Gerät zu einer Dinggruppe mit einer aktiven Greengrass-Bereitstellung hinzufügen. Nach dem Hinzufügen können Sie dann die Softwarekomponenten dieser Dinggruppe auf diesem Gerät bereitstellen.
Gehen Sie wie folgt vor, um eine neue Dinggruppe zu erstellen und ihr Ihre Geräte hinzuzufügen:
-
Erstelle eine AWS IoT Dinggruppe.
MyGreengrassCoreGroup
Ersetzen Sie durch den Namen für die neue Dinggruppe. Sie können keinen Doppelpunkt (:) in einem Dinggruppennamen verwenden.Anmerkung
Wenn eine Dinggruppe für eine Unterbereitstellung zusammen mit einer anderen Gruppe verwendet wird
parentTargetArn
, kann sie nicht mit einer anderen übergeordneten Flotte wiederverwendet werden. Wenn eine Dinggruppe bereits verwendet wurde, um eine Unterbereitstellung für eine andere Flotte zu erstellen, gibt die API einen Fehler zurück.aws iot create-thing-group
--thing-group-name
MyGreengrassCoreGroup
Wenn die Anfrage erfolgreich ist, sieht die Antwort dem folgenden Beispiel ähnlich:
{ "thingGroupName": "MyGreengrassCoreGroup", "thingGroupArn": "arn:aws:iot:us-west-2:123456789012:thinggroup/
MyGreengrassCoreGroup
", "thingGroupId": "4df721e1-ff9f-4f97-92dd-02db4e3f03aa" } -
Fügen Sie Ihrer Dinggruppe einen bereitgestellten Greengrass-Kern hinzu. Führen Sie den folgenden Befehl mit diesen Parametern aus:
-
MyGreengrassCore
Ersetzen Sie durch den Namen Ihres bereitgestellten Greengrass-Kerns. -
MyGreengrassCoreGroup
Ersetzen Sie es durch den Namen Ihrer Dinggruppe.
aws iot add-thing-to-thing-group
--thing-name
MyGreengrassCore
--thing-group-name
MyGreengrassCoreGroup
Der Befehl hat keine Ausgabe, wenn die Anfrage erfolgreich ist.
-
-
-
Erstellen Sie eine Datei mit dem Namen
deployment.json
und kopieren Sie dann das folgende JSON-Objekt in die Datei.targetArn
Ersetzen Sie es durch den ARN der Dinggruppe AWS IoT , die als Ziel für die Unterbereitstellung verwendet werden soll. Ein Unterbereitstellungsziel kann nur eine Dinggruppe sein. Dinggruppen ARNs haben das folgende Format:-
Dinggruppe —
arn:aws:iot:
region
:account-id
:thinggroup/thingGroupName
{ "targetArn": "
targetArn
" } -
-
Führen Sie den folgenden Befehl erneut aus, um die Details der ursprünglichen Bereitstellung abzurufen. Zu diesen Details gehören Metadaten, Komponenten und die Auftragskonfiguration.
deploymentId
Ersetzen Sie durch die ID vonSchritt 1. Sie können diese Bereitstellungskonfiguration verwenden, um Ihre Unterbereitstellung zu konfigurieren und bei Bedarf Änderungen vorzunehmen.aws greengrassv2 get-deployment
--deployment-id
deploymentId
Die Antwort enthält die Details der Bereitstellung. Kopieren Sie eines der folgenden Schlüssel-Wert-Paare aus der Antwort des get-deployment Befehls in.
deployment.json
Sie können diese Werte für die Unterbereitstellung ändern. Weitere Hinweise zu den Einzelheiten dieses Befehls finden Sie unter GetDeployment.-
components
— Die Komponenten der Bereitstellung. Um eine Komponente zu deinstallieren, entfernen Sie sie aus diesem Objekt. -
deploymentName
— Der Name der Bereitstellung. -
deploymentPolicies
— Die Richtlinien des Einsatzes. -
iotJobConfiguration
— Die Jobkonfiguration der Bereitstellung. -
parentTargetArn
— Das Ziel der übergeordneten Bereitstellung. -
tags
— Die Tags der Bereitstellung.
-
-
Führen Sie den folgenden Befehl aus, um die Unterbereitstellung aus
deployment.json
zu erstellen. Ersetzen Sie essubdeploymentName
durch einen Namen für die Unterbereitstellung.aws greengrassv2 create-deployment
--deployment-name
subdeploymentName
--cli-input-json
file://deployment.jsonDie Antwort enthält eine
deploymentId
, die diese Unterbereitstellung identifiziert. Sie können die Bereitstellungs-ID verwenden, um den Status der Bereitstellung zu überprüfen. Weitere Informationen finden Sie unter Überprüfen des Bereitstellungsstatus. -
Wenn die Unterbereitstellung erfolgreich ist, können Sie ihre Konfiguration verwenden, um die übergeordnete Bereitstellung zu überarbeiten. Kopieren Sie die
deployment.json
, die Sie im vorherigen Schritt verwendet haben. Ersetzen Sie dastargetArn
in der JSON-Datei durch den ARN der übergeordneten Bereitstellung und führen Sie den folgenden Befehl aus, um die übergeordnete Bereitstellung mit dieser neuen Konfiguration zu erstellen.Anmerkung
Wenn Sie eine neue Bereitstellungsrevision der übergeordneten Flotte erstellen, ersetzt diese alle Bereitstellungsrevisionen und Unterbereitstellungen für diese übergeordnete Bereitstellung. Weitere Informationen finden Sie unter Bereitstellungen überarbeiten.
aws greengrassv2 create-deployment
--cli-input-json
file://deployment.jsonDie Antwort enthält ein
deploymentId
, das diese Bereitstellung identifiziert. Sie können die Bereitstellungs-ID verwenden, um den Status der Bereitstellung zu überprüfen. Weitere Informationen finden Sie unter Überprüfen Sie den Bereitstellungsstatus.