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.
Unterbereitstellungen erstellen
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-filterLATEST_ONLYein, um die neueste Bereitstellung dieser Dinggruppe zu sehen.aws greengrassv2 list-deployments--target-arnarn:aws:iot:region:account-id:thinggroup/thingGroupName--history-filterLATEST_ONLY -
Kopieren Sie den
deploymentIdaus 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.deploymentIdaws greengrassv2 get-deployment--deployment-iddeploymentId -
Kopieren Sie den
iotJobIdaus 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.
jobIDErsetzen Sie durch deniotJobIdaus dem vorherigen Schritt.statusErsetzen 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-idjobID--statusstatus -
-
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.
MyGreengrassCoreGroupErsetzen 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-nameMyGreengrassCoreGroupWenn 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:
-
MyGreengrassCoreErsetzen Sie durch den Namen Ihres bereitgestellten Greengrass-Kerns. -
MyGreengrassCoreGroupErsetzen Sie es durch den Namen Ihrer Dinggruppe.
aws iot add-thing-to-thing-group--thing-nameMyGreengrassCore--thing-group-nameMyGreengrassCoreGroupDer Befehl hat keine Ausgabe, wenn die Anfrage erfolgreich ist.
-
-
-
Erstellen Sie eine Datei mit dem Namen
deployment.jsonund kopieren Sie dann das folgende JSON-Objekt in die Datei.targetArnErsetzen 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.
deploymentIdErsetzen 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-iddeploymentIdDie 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.jsonSie 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.jsonzu erstellen. Ersetzen Sie essubdeploymentNamedurch einen Namen für die Unterbereitstellung.aws greengrassv2 create-deployment--deployment-namesubdeploymentName--cli-input-jsonfile://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 dastargetArnin 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-jsonfile://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.