Erstellen von Unterbereitstellungen - 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.

Erstellen von Unterbereitstellungen

Anmerkung

Die Unterbereitstellungsfunktion ist auf Greengrass-Kernen der Version 2.9.0 und höher verfügbar. Es ist nicht möglich, eine Konfiguration für eine Unterbereitstellung mit früheren Komponentenversionen des Greengrass-Kerns 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 erfolglose übergeordnete Bereitstellung zu wiederholen, wenn ein oder mehrere Geräte in dieser übergeordneten Bereitstellung fehlschlagen. Mit dieser Funktion können Sie Geräte auswählen, die in dieser übergeordneten Bereitstellung fehlgeschlagen 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.

Führen Sie die Schritte in diesem Abschnitt aus, um eine Unterbereitstellung zu erstellen und ihren Status zu überprüfen. Weitere Informationen zum Erstellen von Bereitstellungen finden Sie unter Erstellen von Bereitstellungen.

So erstellen Sie eine Unterbereitstellung (AWS CLI)
  1. Führen Sie den folgenden Befehl aus, um die neuesten Bereitstellungen für eine Objektgruppe abzurufen. Ersetzen Sie den ARN im Befehl durch den ARN der abzufragenden Objektgruppe. Legen Sie den Wert --history-filter auf festLATEST_ONLY, um die neueste Bereitstellung dieser Objektgruppe anzuzeigen.

    aws greengrassv2 list-deployments --target-arn arn:aws:iot:region:account-id:thinggroup/thingGroupName --history-filter LATEST_ONLY
  2. Kopieren Sie die deploymentId aus der Antwort in den list-deployments Befehl , um sie im nächsten Schritt zu verwenden.

  3. Führen Sie den folgenden Befehl aus, um den Status einer Bereitstellung abzurufen. Ersetzen Sie durch deploymentId die ID der abzufragenden Bereitstellung.

    aws greengrassv2 get-deployment --deployment-id deploymentId
  4. Kopieren Sie die iotJobId aus der Antwort auf den get-deployment Befehl , um sie im folgenden Schritt zu verwenden.

  5. Führen Sie den folgenden Befehl aus, um die Liste der Auftragsausführungen für den angegebenen Auftrag abzurufen. Ersetzen Sie jobID durch die iotJobId aus dem vorherigen Schritt. Ersetzen Sie den Status 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
  6. Erstellen Sie eine neue AWS IoT Objektgruppe oder verwenden Sie eine vorhandene Objektgruppe für Ihre Unterbereitstellung. Fügen Sie dann dieser Objektgruppe ein AWS IoT -Objekt hinzu. Sie verwenden Objektgruppen, um Flotten von Greengrass-Core-Geräten zu verwalten. Wenn Sie Softwarekomponenten auf Ihren Geräten bereitstellen, können Sie entweder einzelne Geräte oder Gerätegruppen anvisieren. Sie können ein Gerät zu einer Objektgruppe mit einer aktiven Greengrass-Bereitstellung hinzufügen. Nach dem Hinzufügen können Sie die Softwarekomponenten dieser Objektgruppe auf diesem Gerät bereitstellen.

    Gehen Sie wie folgt vor, um eine neue Objektgruppe zu erstellen und Ihre Geräte hinzuzufügen:

    1. Erstellen Sie eine -AWS IoTObjektgruppe. Ersetzen Sie MyGreengrassCoreGroup durch den Namen für die neue Objektgruppe. Sie können keinen Doppelpunkt (:) in einem Objektgruppennamen verwenden.

      Anmerkung

      Wenn eine Objektgruppe für eine Unterbereitstellung mit einem verwendet wirdparentTargetArn, kann sie nicht mit einer anderen übergeordneten Flotte wiederverwendet werden. Wenn eine Objektgruppe bereits zum Erstellen einer Unterbereitstellung für eine andere Flotte verwendet wurde, gibt die API einen Fehler zurück.

      aws iot create-thing-group --thing-group-name MyGreengrassCoreGroup

      Wenn die Anforderung erfolgreich ist, sieht die Antwort ähnlich wie im folgenden Beispiel aus:

      { "thingGroupName": "MyGreengrassCoreGroup", "thingGroupArn": "arn:aws:iot:us-west-2:123456789012:thinggroup/MyGreengrassCoreGroup", "thingGroupId": "4df721e1-ff9f-4f97-92dd-02db4e3f03aa" }
    2. Fügen Sie Ihrer Objektgruppe einen bereitgestellten Greengrass-Kern hinzu. Führen Sie den folgenden Befehl mit diesen Parametern aus:

      • Ersetzen Sie durch MyGreengrassCore den Namen Ihres bereitgestellten Greengrass-Kerns.

      • Ersetzen Sie MyGreengrassCoreGroup durch den Namen Ihrer Objektgruppe.

      aws iot add-thing-to-thing-group --thing-name MyGreengrassCore --thing-group-name MyGreengrassCoreGroup

      Der Befehl hat keine Ausgabe, wenn die Anforderung erfolgreich ist.

  7. Erstellen Sie eine Datei mit dem Namen deployment.jsonund kopieren Sie dann das folgende JSON-Objekt in die Datei . Ersetzen Sie targetArn durch den ARN der AWS IoT Objektgruppe, auf die die Unterbereitstellung ausgerichtet werden soll. Ein Unterbereitstellungsziel kann nur eine Objektgruppe sein. Objektgruppen-ARNs haben das folgende Format:

    • Objektgruppearn:aws:iot:region:account-id:thinggroup/thingGroupName

    { "targetArn": "targetArn" }
  8. Führen Sie den folgenden Befehl erneut aus, um die Details der ursprünglichen Bereitstellung abzurufen. Zu diesen Details gehören Metadaten, Komponenten und Auftragskonfiguration. Ersetzen Sie deploymentId durch die ID von Schritt 1. Sie können diese Bereitstellungskonfiguration verwenden, um Ihre Unterbereitstellung zu konfigurieren und nach 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 Informationen zu den Details 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 der Bereitstellung.

    • iotJobConfiguration – Die Auftragskonfiguration der Bereitstellung.

    • parentTargetArn – Das Ziel der übergeordneten Bereitstellung.

    • tags – Die Tags der Bereitstellung.

  9. Führen Sie den folgenden Befehl aus, um die Unterbereitstellung aus zu erstellendeployment.json. Ersetzen Sie subdeploymentName durch einen Namen für die Unterbereitstellung.

    aws greengrassv2 create-deployment --deployment-name subdeploymentName --cli-input-json file://deployment.json

    Die 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.

  10. Wenn die Unterbereitstellung erfolgreich ist, können Sie ihre Konfiguration verwenden, um den übergeordneten Bereitstellungsdienst zu überarbeiten. Kopieren Sie die deployment.json, die Sie im vorherigen Schritt verwendet haben. Ersetzen Sie die targetArn 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, werden alle Bereitstellungsrevisionen und Unterbereitstellungen für diese übergeordnete Bereitstellung ersetzt. Weitere Informationen finden Sie unter Bereitstellungen überarbeiten.

    aws greengrassv2 create-deployment --cli-input-json file://deployment.json

    Die Antwort enthält eine deploymentId, die diese Bereitstellung identifiziert. Sie können die Bereitstellungs-ID verwenden, um den Status der Bereitstellung zu überprüfen. Weitere Informationen finden Sie unter Prüfen des Bereitstellungsstatus.