OTA-Updates der AWS IoT Greengrass Core-Software - AWS IoT Greengrass

AWS IoT Greengrass Version 1 trat am 30. Juni 2023 in die erweiterte Lebensphase ein. Weitere Informationen finden Sie in der AWS IoT Greengrass V1 Wartungsrichtlinie. Nach diesem Datum AWS IoT Greengrass V1 werden keine Updates mehr veröffentlicht, die Funktionen, Verbesserungen, Bugfixes oder Sicherheitspatches bieten. Geräte, die auf laufen, werden AWS IoT Greengrass V1 nicht gestört und funktionieren weiterhin und stellen eine Verbindung zur Cloud her. Wir empfehlen Ihnen dringend, zu migrieren AWS IoT Greengrass Version 2, da dies wichtige neue Funktionen und Unterstützung für zusätzliche Plattformen bietet.

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.

OTA-Updates der AWS IoT Greengrass Core-Software

Das AWS IoT Greengrass Core-Softwarepaket enthält einen Update-Agent, der AWS IoT Greengrass Softwareupdates over-the-air (OTA) durchführen kann. Sie können OTA-Updates verwenden, um die neueste Version der AWS IoT Greengrass Core-Software oder der OTA-Update-Agent-Software auf einem oder mehreren Cores zu installieren. Mit OTA-Updates müssen Ihre Core-Geräte nicht physisch vorhanden sein.

Wir empfehlen, wenn möglich OTA-Updates zu verwenden. Sie stellen einen Mechanismus bereit, mit dem Sie den Aktualisierungsstatus und den Aktualisierungsverlauf nachverfolgen können. Wenn ein Update fehlschlägt, setzt der OTA-Update-Agent auf die vorherige Softwareversion zurück.

Anmerkung

OTA-Updates werden nicht unterstützt, wenn Sie apt zur Installation der AWS IoT Greengrass-Core-Software verwenden. Für diese Installationen wird empfohlen, die Software mithilfe von apt zu aktualisieren. Weitere Informationen finden Sie unter Installieren der AWS IoT Greengrass Core-Software aus einem APT-Repository.

OTA-Updates machen Folgendes effizienter:

  • Schließen von Sicherheitslücken.

  • Behebung von Software-Stabilitätsproblemen.

  • Bereitstellung neuer oder verbesserter Funktionen.

Diese Funktion lässt sich in AWS IoT-Aufgaben integrieren.

Voraussetzungen

Die folgenden Anforderungen gelten für OTA-Updates der AWS IoT Greengrass-Software.

  • Der Greengrass-Core muss über mindestens 400 MB Festplattenspeicher im lokalen Speicher verfügen. Der OTA-Update-Agent benötigt etwa das Dreifache der Laufzeitnutzungsanforderung der AWS IoT Greengrass Core-Software. Weitere Informationen finden Sie unter Service quotas (Servicekontingente) für den Greengrass-Core im Allgemeine Amazon Web Services-Referenz.

  • Der Greengrass-Kern muss eine Verbindung zum AWS Cloud haben.

  • Der Greengrass-Core muss korrekt konfiguriert und mit Zertifikaten und Schlüsseln zur Authentifizierung mit AWS IoT Core und AWS IoT Greengrass versorgt sein. Weitere Informationen finden Sie unter X.509-Zertifikate.

  • Der Greengrass-Core kann nicht so konfiguriert werden, dass er einen Netzwerk-Proxy verwendet.

    Anmerkung

    Ab AWS IoT Greengrass-Version 1.9.3 werden OTA-Updates auf Cores unterstützt, die MQTT-Datenverkehr so konfigurieren, dass Port 443 anstelle des Standardports 8883 verwendet wird. Der OTA-Update-Agent unterstützt jedoch keine Updates über einen Netzwerk-Proxy. Weitere Informationen finden Sie unter Verbindungsherstellung auf Port 443 oder über einen Netzwerk-Proxy.

  • Trusted Boot kann in der Partition, die die AWS IoT Greengrass-Core-Software enthält, nicht aktiviert werden.

    Anmerkung

    Sie können die AWS IoT Greengrass-Core-Software auf einer Partition installieren und ausführen, für die Trusted Boot aktiviert ist. OTA-Updates werden jedoch nicht unterstützt.

  • AWS IoT Greengrass muss über Lese-/Schreibberechtigungen für die Partition verfügen, die die AWS IoT Greengrass-Core-Software enthält.

  • Wenn Sie ein Init-System zur Verwaltung Ihres Greengrass-Cores verwenden, müssen Sie OTA-Updates zur Integration in das Init-System konfigurieren. Weitere Informationen finden Sie unter Integration in Init-Systeme.

  • Sie müssen eine Rolle erstellen, die verwendet wird, um den Amazon S3-URLs AWS IoT Greengrass Softwareupdate-Artefakten vorzugeben. Diese Unterzeichnerrolle ermöglicht Ihnen AWS IoT Core den Zugriff auf Software-Update-Artefakte, die in Amazon S3 gespeichert sind. Weitere Informationen finden Sie unter IAM-Berechtigungen für OTA-Updates.

IAM-Berechtigungen für OTA-Updates

Wenn eine neue Version der AWS IoT Greengrass Core-Software AWS IoT Greengrass veröffentlicht wird, werden die in Amazon S3 gespeicherten Softwareartefakte AWS IoT Greengrass aktualisiert, die für das OTA-Update verwendet werden.

Sie AWS-Konto müssen eine Amazon S3-URL-Signerrolle angeben, die für den Zugriff auf diese Artefakte verwendet werden kann. Die Rolle muss über eine Berechtigungsrichtlinie verfügen, die die s3:GetObject Aktion für die Buckets in AWS-Region Ziel-s zulässt. Die Rolle muss auch über eine Vertrauensrichtlinie verfügen, mit der iot.amazonaws.com die Rolle als vertrauenswürdige Entität übernehmen kann.

Berechtigungsrichtlinie

Für Rollenberechtigungen können Sie die AWS-verwaltete Richtlinie verwenden oder eine benutzerdefinierte Richtlinie erstellen.

  • Verwenden der von AWS verwalteten Richtlinie

    Die von GreenGrassOTA UpdateArtifactAccess verwaltete Richtlinie wird bereitgestellt von. AWS IoT Greengrass Verwenden Sie diese Richtlinie, wenn Sie den Zugriff in allen Amazon Web Services-Regionen zulassen möchtenAWS IoT Greengrass, die von aktuellen und zukünftigen unterstützt werden.

  • Erstellen Sie eine benutzerdefinierte Richtlinie

    Sie sollten eine benutzerdefinierte Richtlinie erstellen, wenn Sie die Amazon Web Services-Regionen explizit angeben möchten, in denen Ihre Cores bereitgestellt werden. Die folgende Beispielrichtlinie erlaubt den Zugriff auf AWS IoT Greengrass-Software-Updates in sechs Regionen:

    { "Version": "2012-10-17", "Statement": [ { "Sid": "AllowAccessToGreengrassOTAUpdateArtifacts", "Effect": "Allow", "Action": [ "s3:GetObject" ], "Resource": [ "arn:aws:s3:::us-east-1-greengrass-updates/*", "arn:aws:s3:::us-west-2-greengrass-updates/*", "arn:aws:s3:::ap-northeast-1-greengrass-updates/*", "arn:aws:s3:::ap-southeast-2-greengrass-updates/*", "arn:aws:s3:::eu-central-1-greengrass-updates/*", "arn:aws:s3:::eu-west-1-greengrass-updates/*" ] } ] }
Vertrauensrichtlinie

Die der Rolle angefügte Vertrauensrichtlinie muss die sts:AssumeRole-Aktion zulassen und iot.amazonaws.com als Prinzipal definieren. Dies ermöglicht es AWS IoT Core, die Rolle als vertrauenswürdige Entität zu übernehmen. Hier ist ein Beispielrichtliniendokument:

{ "Version": "2012-10-17", "Statement": [ { "Sid": "AllowIotToAssumeRole", "Action": "sts:AssumeRole", "Principal": { "Service": "iot.amazonaws.com" }, "Effect": "Allow" } ] }

Darüber hinaus muss der Benutzer, der ein OTA-Update initiiert, über Berechtigungen zum Verwenden von greengrass:CreateSoftwareUpdateJob und iot:CreateJob verfügen und zum Übergeben der Berechtigungen der Signer-Rolle iam:PassRole verwenden. Hier ist ein Beispiel für eine IAM-Richtlinie:

{ "Version": "2012-10-17", "Statement": [ { "Action": [ "greengrass:CreateSoftwareUpdateJob" ], "Effect": "Allow", "Resource": "*" }, { "Effect": "Allow", "Action": [ "iot:CreateJob" ], "Resource": "*" }, { "Effect": "Allow", "Action": [ "iam:PassRole" ], "Resource": "arn-of-s3-url-signer-role" } ] }

Überlegungen

Berücksichtigen Sie vor einer OTA-Aktualisierung der Greengrass Core-Software die Auswirkungen auf die Geräte in Ihrer Greengrass-Gruppe, sowohl das Core-Gerät als auch die Client-Geräte, die lokal mit dem Core verbunden sind:

  • Der Core wird während der Aktualisierung heruntergefahren.

  • Alle auf dem Core ausgeführten Lambda-Funktionen werden beendet. Wenn diese Funktionen Daten auf lokale Ressourcen schreiben, kann es sein, dass diese Ressourcen in einem fehlerhaften Status verbleiben, wenn sie nicht ordnungsgemäß heruntergefahren werden.

  • Während der Ausfallzeit des Cores gehen alle Verbindungen mit dem AWS Cloud verloren. Von Client-Geräten über den Core geleitete Nachrichten gehen verloren.

  • Zwischenspeicherungen von Anmeldeinformationen gehen verloren.

  • Warteschlangen, in denen anstehende Aufgaben für Lambda-Funktionen enthalten sind, gehen verloren.

  • Langlebige Lambda-Funktionen verlieren ihre dynamischen Statusinformationen und alle ausstehenden Arbeiten werden verworfen.

Die folgenden Statusinformationen bleiben während einer OTA-Aktualisierung erhalten:

  • Core-Konfiguration

  • Konfiguration der Greengrass-Gruppe

  • Lokale Schatten

  • Greengrass-Protokolle

  • Protokolle des OTA-Update-Agenten

Greengrass OTA-Update-Agent

Der Greengrass OTA-Update-Agent ist die Softwarekomponente auf dem Gerät, die Aktualisierungsaufträge verarbeitet, die in der Cloud erstellt und bereitgestellt werden. Der OTA-Update-Agent wird im gleichen Softwarepaket wie die AWS IoT Greengrass Core-Software vertrieben. Der Agent befindet sich in /greengrass-root/ota/ota_agent/ggc-ota. Er schreibt Protokolle in /var/log/greengrass/ota/ggc_ota.txt.

Anmerkung

greengrass-root steht für den Pfad, unter dem die AWS IoT Greengrass Core-Software auf Ihrem Gerät installiert ist. Normalerweise ist dies das Verzeichnis /greengrass.

Sie können den OTA-Aktualisierungsagenten starten, indem Sie die Binärdatei manuell ausführen oder indem Sie sie als Teil eines Init-Skripts, z. B. einer systemd-Dienstdatei, integrieren. Wenn Sie die Binärdatei manuell ausführen, sollte sie als Root ausgeführt werden. Beim Start wartet der OTA-Update-Agent auf AWS IoT Greengrass Softwareupdate-Jobs von AWS IoT Core und führt sie sequentiell aus. Der OTA-Update-Agent ignoriert alle anderen AWS IoT Jobtypen.

Der folgende Auszug zeigt ein Beispiel für eine systemd-Dienstdatei zum Starten, Stoppen und Neustarten des OTA-Aktualisierungsagenten:

[Unit] Description=Greengrass OTA Daemon [Service] Type=forking Restart=on-failure ExecStart=/greengrass/ota/ota_agent/ggc-ota [Install] WantedBy=multi-user.target

Ein Core, der das Ziel eines Updates ist, darf nicht zwei Instanzen des OTA-Update-Agenten ausführen. Andernfalls verarbeiten die beiden Agenten dieselben Aufträge, was zu Konflikten führt.

Integration in Init-Systeme

Während eines OTA-Updates startet der OTA-Update-Agent die Binärdateien auf dem Kerngerät neu. Wenn die Binärdateien ausgeführt werden, kann dies zu Konflikten führen, wenn ein Init-System den Status der AWS IoT Greengrass-Core-Software oder des Agenten während des Updates überwacht. Um die Integration des OTA-Aktualisierungsmechanismus mit Ihren Init-Überwachungsstrategien zu unterstützen, können Sie Shell-Skripts schreiben, die vor und nach einer Aktualisierung ausgeführt werden. Sie können das ggc_pre_update.sh Skript beispielsweise verwenden, um Daten zu sichern oder Prozesse zu stoppen, bevor das Gerät heruntergefahren wird.

Um den OTA-Aktualisierungsagenten anzuweisen, diese Skripts auszuführen, müssen Sie das "managedRespawn" : true Flag in die Datei config.json aufnehmen. Diese Einstellung wird im folgenden Auszug dargestellt:

{ "coreThing": { … }, "runtime": { … }, "managedRespawn": true … }

Managed Respawn mit OTA-Updates

Die folgenden Anforderungen gelten für OTA-Updates mit der managedRespawn Einstellung auftrue:

  • Die folgenden Shell-Skripte müssen im /greengrass-root/usr/scripts Verzeichnis vorhanden sein:

    • ggc_pre_update.sh

    • ggc_post_update.sh

    • ota_pre_update.sh

    • ota_post_update.sh

  • Die Skripte müssen einen erfolgreichen Rückgabecode zurückgeben.

  • Die Skripte müssen sich im Besitz von root befinden und nur von root ausführbar sein.

  • Das ggc_pre_update.sh Skript muss den Greengrass-Daemon stoppen.

  • Das ggc_post_update.sh Skript muss den Greengrass-Daemon starten.

Anmerkung

Da der OTA-Aktualisierungsagent seinen eigenen Prozess verwaltet, müssen die ota_pre_update.sh ota_post_update.sh AND-Skripts den OTA-Dienst nicht beenden oder starten.

Der OTA-Update-Agent führt die Skripts von der aus/greengrass-root/usr/scripts. Die Verzeichnisstruktur sollte wie folgt aussehen:

<greengrass_root> |-- certs |-- config | |-- config.json |-- ggc |-- usr/scripts | |-- ggc_pre_update.sh | |-- ggc_post_update.sh | |-- ota_pre_update.sh | |-- ota_post_update.sh |-- ota

Wenn auf gesetzt managedRespawn isttrue, überprüft der OTA-Update-Agent das /greengrass-root/usr/scripts Verzeichnis vor und nach dem Softwareupdate auf diese Skripts. Wenn die Skripts nicht existieren, schlägt das Update fehl. AWS IoT Greengrassüberprüft den Inhalt dieser Skripte nicht. Als bewährte Methode sollten Sie überprüfen, ob Ihre Skripts ordnungsgemäß funktionieren, und bei Fehlern die entsprechenden Exit-Codes ausgeben.

Für OTA-Updates der AWS IoT Greengrass-Core-Software:
  • Vor dem Start des Updates führt der Agent das ggc_pre_update.sh-Skript aus. Verwenden Sie dieses Skript für Befehle, die ausgeführt werden müssen, bevor der OTA-Update-Agent das AWS IoT Greengrass Core-Softwareupdate startet, z. B. um Daten zu sichern oder laufende Prozesse zu beenden. Das folgende Beispiel zeigt ein einfaches Skript zum Stoppen des Greengrass-Daemons.

    #!/bin/bash set -euo pipefail systemctl stop greengrass
  • Nach Abschluss des Updates führt der Agent das ggc_post_update.sh-Skript aus. Verwenden Sie dieses Skript für Befehle, die ausgeführt werden müssen, nachdem der OTA-Update-Agent das AWS IoT Greengrass Core-Softwareupdate gestartet hat, z. B. um Prozesse neu zu starten. Das folgende Beispiel zeigt ein einfaches Skript zum Starten des Greengrass-Daemons.

    #!/bin/bash set -euo pipefail systemctl start greengrass
Für OTA-Updates des OTA-Update-Agenten:
  • Vor dem Start des Updates führt der Agent das ota_pre_update.sh-Skript aus. Verwenden Sie dieses Skript für Befehle, die ausgeführt werden müssen, bevor sich der OTA-Update-Agent selbst aktualisiert, z. B. um Daten zu sichern oder laufende Prozesse zu beenden.

  • Nach Abschluss des Updates führt der Agent das ota_post_update.sh-Skript aus. Verwenden Sie dieses Skript für Befehle, die ausgeführt werden müssen, nachdem sich der OTA-Update-Agent selbst aktualisiert hat, z. B. um Prozesse neu zu starten.

Anmerkung

Wenn auf gesetzt managedRespawn istfalse, führt der OTA-Update-Agent die Skripts nicht aus.

Erstellen eines OTA-Updates

Führen Sie die folgenden Schritte aus, um ein OTA-Update der AWS IoT Greengrass-Software auf einem oder mehreren Cores durchzuführen:

  1. Stellen Sie sicher, dass Ihre Cores die Anforderungen für OTA-Updates erfüllen.

    Anmerkung

    Wenn Sie ein Init-System für die Verwaltung der AWS IoT Greengrass Core-Software oder des OTA-Update-Agents konfiguriert haben, überprüfen Sie Folgendes auf Ihren Cores:

    • Die config.json-Datei legt "managedRespawn" : true fest.

    • Das Verzeichnis/greengrass-root /usr/scripts enthält die folgenden Skripte:

      • ggc_pre_update.sh

      • ggc_post_update.sh

      • ota_pre_update.sh

      • ota_post_update.sh

    Weitere Informationen finden Sie unter Integration in Init-Systeme.

  2. Starten Sie in einem Hauptgeräteterminal den OTA-Aktualisierungsagenten.

    cd /greengrass-root/ota/ota_agent sudo ./ggc-ota
    Anmerkung

    greengrass-root steht für den Pfad, unter dem die AWS IoT Greengrass Core-Software auf Ihrem Gerät installiert ist. Normalerweise ist dies das Verzeichnis /greengrass.

    Starten Sie nicht mehrere Instanzen des OTA-Update-Agenten auf einem Core, da dies zu Konflikten führen kann.

  3. Verwenden Sie die AWS IoT Greengrass API, um einen Software-Update-Job zu erstellen.

    1. Rufen Sie die CreateSoftwareUpdateJob-API auf. In diesem Beispielverfahren verwenden wir AWS CLI-Befehle.

      Mit dem folgenden Befehl wird eine Aufgabe erstellt, die die AWS IoT Greengrass-Core-Software auf einem Core aktualisiert. Ersetzen Sie die Beispielwerte und führen Sie dann den Befehl aus.

      Linux or macOS terminal
      aws greengrass create-software-update-job \ --update-targets-architecture x86_64 \ --update-targets [\"arn:aws:iot:region:123456789012:thing/myCoreDevice\"] \ --update-targets-operating-system ubuntu \ --software-to-update core \ --s3-url-signer-role arn:aws:iam::123456789012:role/myS3UrlSignerRole \ --update-agent-log-level WARN \ --amzn-client-token myClientToken1
      Windows command prompt
      aws greengrass create-software-update-job ^ --update-targets-architecture x86_64 ^ --update-targets [\"arn:aws:iot:region:123456789012:thing/myCoreDevice\"] ^ --update-targets-operating-system ubuntu ^ --software-to-update core ^ --s3-url-signer-role arn:aws:iam::123456789012:role/myS3UrlSignerRole ^ --update-agent-log-level WARN ^ --amzn-client-token myClientToken1

      Dieser Befehl gibt das folgende Antwort zurück.

      { "IotJobId": "GreengrassUpdateJob_c3bd7f36-ee80-4d42-8321-a1da0EXAMPLE", "IotJobArn": "arn:aws:iot:region:123456789012:job/GreengrassUpdateJob_c3bd7f36-ee80-4d42-8321-a1da0EXAMPLE", "PlatformSoftwareVersion": "1.10.1" }
    2. Kopieren Sie IoTJobId aus der Antwort.

    3. Rufen Sie DescribeJobdie AWS IoT Core API auf, um den Jobstatus zu sehen. Ersetzen Sie den Beispielwert durch Ihre Aufgaben-ID, und führen Sie dann den Befehl aus.

      aws iot describe-job --job-id GreengrassUpdateJob_c3bd7f36-ee80-4d42-8321-a1da0EXAMPLE

      Der Befehl gibt ein Antwortobjekt zurück, das Informationen über die Aufgabe enthält, einschließlich status und jobProcessDetails.

      { "job": { "jobArn": "arn:aws:iot:region:123456789012:job/GreengrassUpdateJob_c3bd7f36-ee80-4d42-8321-a1da0EXAMPLE", "jobId": "GreengrassUpdateJob_c3bd7f36-ee80-4d42-8321-a1da0EXAMPLE", "targetSelection": "SNAPSHOT", "status": "IN_PROGRESS", "targets": [ "arn:aws:iot:region:123456789012:thing/myCoreDevice" ], "description": "This job was created by Greengrass to update the Greengrass Cores in the targets with version 1.10.1 of the core software running on x86_64 architecture.", "presignedUrlConfig": { "roleArn": "arn:aws::iam::123456789012:role/myS3UrlSignerRole", "expiresInSec": 3600 }, "jobExecutionsRolloutConfig": {}, "createdAt": 1588718249.079, "lastUpdatedAt": 1588718253.419, "jobProcessDetails": { "numberOfCanceledThings": 0, "numberOfSucceededThings": 0, "numberOfFailedThings": 0, "numberOfRejectedThings": 0, "numberOfQueuedThings": 1, "numberOfInProgressThings": 0, "numberOfRemovedThings": 0, "numberOfTimedOutThings": 0 }, "timeoutConfig": {} } }

    Hilfe zur Problembehebung finden Sie unter Fehlerbehebung für AWS IoT Greengrass.

CreateSoftwareUpdateJob-API

Sie können die CreateSoftwareUpdateJob API verwenden, um die AWS IoT Greengrass Core-Software oder die OTA-Update-Agent-Software auf Ihren Core-Geräten zu aktualisieren. Diese API erstellt eine AWS IoT-Snapshot-Aufgabe, die Geräte benachrichtigt, wenn ein Update verfügbar ist. Nach dem Aufruf von CreateSoftwareUpdateJob können Sie andere AWS IoT-Aufgabenbefehle verwenden, um das Softwareupdate zu verfolgen. Weitere Informationen finden Sie unter Jobs im AWS IoTDeveloper Guide.

Das folgende Beispiel zeigt, wie AWS CLI zum Erstellen einer Aufgabe verwendet wird, der die AWS IoT Greengrass-Core-Software auf einem Core-Gerät aktualisiert:

aws greengrass create-software-update-job \ --update-targets-architecture x86_64 \ --update-targets [\"arn:aws:iot:region:123456789012:thing/myCoreDevice\"] \ --update-targets-operating-system ubuntu \ --software-to-update core \ --s3-url-signer-role arn:aws:iam::123456789012:role/myS3UrlSignerRole \ --update-agent-log-level WARN \ --amzn-client-token myClientToken1

Der Befehl create-software-update-job gibt eine JSON-Antwort zurück, die die Auftrags-ID, den Auftrags-ARN und die Softwareversion enthält, die durch das Update installiert wurden:

{ "IotJobId": "GreengrassUpdateJob_c3bd7f36-ee80-4d42-8321-a1da0EXAMPLE", "IotJobArn": "arn:aws:iot:region:123456789012:job/GreengrassUpdateJob_c3bd7f36-ee80-4d42-8321-a1da0EXAMPLE", "PlatformSoftwareVersion": "1.9.2" }

Schritte, die Ihnen zeigen, wie create-software-update-job zum Aktualisieren eines Core-Geräts verwendet wird, finden Sie unter Erstellen eines OTA-Updates.

Der Befehl create-software-update-job hat die folgenden Parameter:

--update-targets-architecture

Die Architektur des Core-Geräts.

Gültige Werte: armv7l, armv6l, x86_64 oder aarch64

--update-targets

Cores, die aktualisiert werden sollen. Die Liste kann ARNs einzelner Cores und ARNs von Objektgruppen enthalten, deren Mitglieder Cores sind. Weitere Informationen zu Dinggruppen finden Sie unter Statische Dinggruppen im AWS IoTEntwicklerhandbuch.

--update-targets-operating-system

Das Betriebssystem des Core-Geräts.

Gültige Werte: ubuntu, amazon_linux, raspbian oder openwrt

--software-to-update

Gibt an, ob die Core-Software oder die OTA-Update-Agent-Software aktualisiert werden soll.

Gültige Werte: core oder ota_agent.

--s3-url-signer-role

Der ARN der IAM-Rolle, der zur Vorgabe der Amazon S3-URL verwendet wird, die auf die AWS IoT Greengrass Softwareupdate-Artefakte verweist. Die der Rolle zugewiesene Berechtigungsrichtlinie muss die s3:GetObject Aktion für die Buckets in den AWS-Region Ziel-s zulassen. Die Rolle muss auch iot.amazonaws.com erlauben, die Rolle als vertrauenswürdige Entität zu übernehmen. Weitere Informationen finden Sie unter IAM-Berechtigungen für OTA-Updates.

--amzn-client-token

(Optional) Ein Client-Token für idempotente Anfragen. Geben Sie einen eindeutigen Token an, um zu verhindern, dass aufgrund interner wiederholter Versuche doppelte Aktualisierungen durchgeführt werden.

--update-agent-log-level

(Optional) Die Protokollierungsebene für Protokollanweisungen, die vom OTA-Aktualisierungsagenten generiert wurden. Der Standardwert ist ERROR.

Gültige Werte: NONE, TRACE, DEBUG, VERBOSE, INFO, WARN, ERROR oder FATAL

Anmerkung

CreateSoftwareUpdateJob akzeptiert nur Anforderungen für die folgenden unterstützten Architektur- und Betriebssystemkombinationen:

  • ubuntu/x86_64

  • ubuntu/aarch64

  • amazon_linux/x86_64

  • raspbian/armv7l

  • raspbian/armv6l

  • openwrt/aarch64

  • openwrt/armv7l