View a markdown version of this page

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

Einsatz

Verwenden Sie den deployment Befehl, um mit lokalen Komponenten auf Ihrem Kerngerät zu interagieren.

Verwenden Sie den status Unterbefehl, um den Fortschritt einer lokalen Bereitstellung zu überwachen. Sie können den Fortschritt einer lokalen Bereitstellung nicht mithilfe der Konsole überwachen.

Erstellen

Erstellen oder aktualisieren Sie eine lokale Bereitstellung mithilfe bestimmter Komponentenrezepte, Artefakte und Laufzeitargumente.

Syntax
greengrass-cli deployment create --recipeDir path/to/component/recipe [--artifactDir path/to/artifact/folder ] [--update-config {component-configuration}] [--groupId <thing-group>] [--merge "<component-name>=<component-version>"]... [--runWith "<component-name>:posixUser=<user-name>[:<group-name>]"]... [--systemLimits "{component-system-resource-limits}]"]... [--remove <component-name>,...] [--failure-handling-policy <policy name[ROLLBACK, DO_NOTHING]>]
Argumente
  • --recipeDir,-r. Der vollständige Pfad zu dem Ordner, der die Komponenten-Rezeptdateien enthält.

  • --artifactDir,-a. Der vollständige Pfad zu dem Ordner, der die Artefaktdateien enthält, die Sie in Ihre Bereitstellung aufnehmen möchten. Der Artifacts-Ordner muss die folgende Verzeichnisstruktur enthalten:

    /path/to/artifact/folder/<component-name>/<component-version>/<artifacts>
  • --update-config,-c. Die Konfigurationsargumente für die Bereitstellung, bereitgestellt als JSON-Zeichenfolge oder JSON-Datei. Die JSON-Zeichenfolge sollte das folgende Format haben:

    { \ "componentName": { \ "MERGE": {"config-key": "config-value"}, \ "RESET": ["path/to/reset/"] \ } \ }

    MERGEund RESET unterscheiden Groß- und Kleinschreibung und müssen in Großbuchstaben geschrieben werden.

  • --groupId,-g. Die Zielgruppe für den Einsatz.

  • --merge,-m. Der Name und die Version der Zielkomponente, die Sie hinzufügen oder aktualisieren möchten. Sie müssen die Komponenteninformationen im Format angeben<component>=<version>. Verwenden Sie für jede weitere anzugebende Komponente ein separates Argument. Verwenden Sie bei Bedarf das --runWith Argument, um die posixUserposixGroup, und windowsUser Informationen zum Ausführen der Komponente bereitzustellen.

  • --runWith. Das posixUserposixGroup, und windowsUser Informationen zum Ausführen einer generischen oder Lambda-Komponente. Sie müssen diese Informationen in dem Format <component>:{posixUser|windowsUser}=<user>[:<=posixGroup>] angeben. Sie können beispielsweise HelloWorld:posixUser=ggc_user:ggc_group oder angebenHelloWorld:windowsUser=ggc_user. Verwenden Sie für jede weitere anzugebende Option ein separates Argument.

    Weitere Informationen finden Sie unter Konfigurieren Sie den Benutzer, der die Komponenten ausführt.

  • --systemLimits. Die Systemressourcenbeschränkungen, die für generische und nicht containerisierte Prozesse von Lambda-Komponenten auf dem Kerngerät gelten. Sie können die maximale CPU- und RAM-Auslastung konfigurieren, die die Prozesse der einzelnen Komponenten verwenden können. Geben Sie ein serialisiertes JSON-Objekt oder einen Dateipfad zu einer JSON-Datei an. Das JSON-Objekt muss das folgende Format haben.

    { \ "componentName": { \ "cpus": cpuTimeLimit, \ "memory": memoryLimitInKb \ } \ }

    Sie können die folgenden Systemressourcenbeschränkungen für jede Komponente konfigurieren:

    • cpus Die maximale CPU-Zeit, die die Prozesse dieser Komponente auf dem Kerngerät verwenden können. Die gesamte CPU-Zeit eines Core-Geräts entspricht der Anzahl der CPU-Kerne des Geräts. Auf einem Kerngerät mit 4 CPU-Kernen können Sie diesen Wert beispielsweise auf festlegen, 2 um die Prozesse dieser Komponente auf 50 Prozent der einzelnen CPU-Kerne zu beschränken. Auf einem Gerät mit einem CPU-Kern können Sie diesen Wert auf festlegen, 0.25 um die CPU-Auslastung dieser Komponente auf 25 Prozent zu beschränken. Wenn Sie diesen Wert auf eine Zahl setzen, die größer als die Anzahl der CPU-Kerne ist, begrenzt die AWS IoT Greengrass Core-Software die CPU-Auslastung der Komponente nicht.

    • memory Die maximale Menge an RAM (in Kilobyte), die die Prozesse dieser Komponente auf dem Kerngerät verwenden können.

    Weitere Informationen finden Sie unter Konfigurieren Sie die Systemressourcenlimits für Komponenten.

    Diese Funktion ist für Version 2.4.0 und höher der Greengrass Nucleus-Komponente und Greengrass CLI auf Linux-Core-Geräten verfügbar. AWS IoT Greengrass unterstützt diese Funktion derzeit nicht auf Windows-Core-Geräten.

  • --remove. Der Name der Zielkomponente, die Sie aus einer lokalen Bereitstellung entfernen möchten. Wenn die Komponente einen Lebenszyklusschritt der Deinstallation definiert, führt die AWS IoT Greengrass Core-Software das Deinstallationsskript aus, bevor die Komponente entfernt wird. Um eine Komponente zu entfernen, die aus einer Cloud-Bereitstellung zusammengeführt wurde, müssen Sie die Gruppen-ID der Ziel-Dinggruppe im folgenden Format angeben:

    Greengrass nucleus v2.4.0 and later
    --remove <component-name> --groupId <group-name>
    Earlier than v2.4.0
    --remove <component-name> --groupId thinggroup/<group-name>
  • --failure-handling-policy. Definiert die Aktion, die ergriffen wird, wenn eine Bereitstellung fehlschlägt. Es gibt zwei Aktionen, die Sie angeben können:

    • ROLLBACK— Das Kerngerät wird auf die vorherige Konfiguration zurückgesetzt, wenn die Bereitstellung fehlschlägt.

    • DO_NOTHING— Das Kerngerät behält die Änderungen bei der fehlgeschlagenen Bereitstellung bei.

    Anmerkung

    Die AWS IoT Greengrass Core-Software ignoriert die Richtlinie zur Fehlerbehandlung bei Bootstrap-Bereitstellungen. Eine Bootstrap-Bereitstellung aktualisiert die Greengrass Nucleus-Version oder beinhaltet eine Komponente mit einem Bootstrap-Lebenszyklusschritt. Wenn eine Bootstrap-Bereitstellung fehlschlägt, wird das Kerngerät auf seine vorherige Konfiguration zurückgesetzt. Das Rollback erfolgt auch dann, wenn Sie die Richtlinie zur Fehlerbehandlung auf festlegen. DO_NOTHING

    Diese Funktion ist für Version 2.11.0 und höher von verfügbar. Grüngras-Kern

Ausgabe

Das folgende Beispiel zeigt die Ausgabe, die beim Ausführen dieses Befehls erzeugt wird.

$ sudo greengrass-cli deployment create \ --merge MyApp1=1.0.0 \ --merge MyApp2=1.0.0 --runWith MyApp2:posixUser=ggc_user \ --remove MyApp3 \ --recipeDir recipes/ \ --artifactDir artifacts/ Local deployment has been submitted! Deployment Id: 44d89f46-1a29-4044-ad89-5151213dfcbc

abbrechen

Bricht die angegebene Bereitstellung ab.

Syntax
greengrass-cli deployment cancel -i <deployment-id>
Argumente

-i. Die eindeutige Kennung der Bereitstellung, die abgebrochen werden soll. Die Bereitstellungs-ID wird in der Ausgabe des create Befehls zurückgegeben.

Ausgabe
  • Keine

list

Ruft den Status der letzten 10 lokalen Bereitstellungen ab.

Syntax
greengrass-cli deployment list
Argumente

Keine

Ausgabe

Das folgende Beispiel zeigt die Ausgabe, die beim Ausführen dieses Befehls erzeugt wird. Je nach Status Ihrer Bereitstellung zeigt die Ausgabe einen der folgenden Statuswerte an: IN_PROGRESSSUCCEEDED, oderFAILED.

$ sudo greengrass-cli deployment list 44d89f46-1a29-4044-ad89-5151213dfcbc: SUCCEEDED Created on: 6/27/23 11:05 AM

Status

Ruft den Status einer bestimmten Bereitstellung ab.

Syntax
greengrass-cli deployment status -i <deployment-id>
Argumente

-i. Die ID der Bereitstellung.

Ausgabe

Das folgende Beispiel zeigt die Ausgabe, die beim Ausführen dieses Befehls erzeugt wird. Je nach Status Ihrer Bereitstellung zeigt die Ausgabe einen der folgenden Statuswerte an: IN_PROGRESSSUCCEEDED, oderFAILED.

$ sudo greengrass-cli deployment status -i 44d89f46-1a29-4044-ad89-5151213dfcbc 44d89f46-1a29-4044-ad89-5151213dfcbc: FAILED Created on: 6/27/23 11:05 AM Detailed Status: <Detailed deployment status> Deployment Error Stack: List of error codes Deployment Error Types: List of error types Failure Cause: Cause