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

Bereitstellung

Verwenden Sie den deployment Befehl , um mit lokalen Komponenten auf Ihrem Core-Gerä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.

create

Erstellen oder aktualisieren Sie eine lokale Bereitstellung mit bestimmten Komponentenrezepten, Artefakten und Laufzeitargumenten.

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 Komponentenrezeptdateien 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 Ordner Artefakte 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/"] \ } \ }

    MERGE Bei und RESET wird zwischen Groß- und Kleinschreibung unterschieden und sie müssen in Großbuchstaben geschrieben werden.

  • --groupId, -g. Die Ziel-Objektgruppe für die Bereitstellung.

  • --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 ein separates Argument für jede anzugebende zusätzliche Komponente. Verwenden Sie bei Bedarf das Argument --runWith , um die windowsUser Informationen posixUserposixGroup, und für die Ausführung der Komponente bereitzustellen.

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

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

  • --systemLimits. Die Systemressourcenlimits, die für generische und nicht containerisierte Prozesse von Lambda-Komponenten auf dem Core-Gerät gelten sollen. Sie können die maximale CPU- und RAM-Auslastung konfigurieren, die die Prozesse jeder Komponente 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 Systemressourcenlimits für jede Komponente konfigurieren:

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

    • memoryDie maximale Menge an RAM (in Kilobyte), die die Prozesse dieser Komponente auf dem Core-Gerät verwenden können.

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

    Diese Funktion ist für v2.4.0 und höher der Greengrass-Kernkomponente und der Greengrass-CLI auf Linux-Kerngeräten verfügbar. unterstützt diese Funktion derzeit AWS IoT Greengrass nicht auf Windows-Kerngeräten.

  • --remove. Der Name der Zielkomponente, die Sie aus einer lokalen Bereitstellung entfernen möchten. Um eine Komponente zu entfernen, die aus einer Cloud-Bereitstellung zusammengeführt wurde, müssen Sie die Gruppen-ID der Zielgruppe 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 ausgeführt wird, wenn eine Bereitstellung fehlschlägt. Es gibt zwei Aktionen, die Sie angeben können:

    • ROLLBACK

    • DO_NOTHING

    Diese Funktion ist für v2.11.0 und höher der verfügbarGrüngraskern.

Ausgabe

Das folgende Beispiel zeigt die Ausgabe, die erzeugt wird, wenn Sie diesen Befehl ausführen.

$ 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 abzubrechenden Bereitstellung. Die Bereitstellungs-ID wird in der Ausgabe des create Befehls zurückgegeben.

Output
  • None

auflisten

Rufen Sie den Status der letzten 10 lokalen Bereitstellungen ab.

Syntax
greengrass-cli deployment list
Argumente

None

Ausgabe

Das folgende Beispiel zeigt die Ausgabe, die erzeugt wird, wenn Sie diesen Befehl ausführen. Abhängig vom Status Ihrer Bereitstellung zeigt die Ausgabe einen der folgenden Statuswerte an: IN_PROGRESSSUCCEEDED, oder FAILED.

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

Status

Rufen Sie 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 erzeugt wird, wenn Sie diesen Befehl ausführen. Abhängig vom Status Ihrer Bereitstellung zeigt die Ausgabe einen der folgenden Statuswerte an: IN_PROGRESSSUCCEEDED, oder FAILED.

$ 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