Erstellen von benutzerdefinierten Auftragsvorlagen mit AWS CLI - AWS IoT Core

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 benutzerdefinierten Auftragsvorlagen mit AWS CLI

In diesem Thema wird erklärt, wie Sie Details erstellen und löschen können und wie Sie Details zu Auftragsvorlagen mithilfe von AWS CLI abrufen können.

Erstellen einer von Grund auf neuen Auftragsvorlage

Der folgende AWS CLI Befehl zeigt, wie Sie einen Job mithilfe eines Jobdokuments erstellen (job-document.json) gespeichert in einem S3-Bucket und einer Rolle mit der Erlaubnis, Dateien von Amazon S3 herunterzuladen (S3DownloadRole).

aws iot create-job-template \ --job-template-id 010 \ --document-source https://s3.amazonaws.com/amzn-s3-demo-bucket/job-document.json \ --timeout-config inProgressTimeoutInMinutes=100 \ --job-executions-rollout-config "{ \"exponentialRate\": { \"baseRatePerMinute\": 50, \"incrementFactor\": 2, \"rateIncreaseCriteria\": { \"numberOfNotifiedThings\": 1000, \"numberOfSucceededThings\": 1000}}, \"maximumPerMinute\": 1000}" \ --abort-config "{ \"criteriaList\": [ { \"action\": \"CANCEL\", \"failureType\": \"FAILED\", \"minNumberOfExecutedThings\": 100, \"thresholdPercentage\": 20}, { \"action\": \"CANCEL\", \"failureType\": \"TIMED_OUT\", \"minNumberOfExecutedThings\": 200, \"thresholdPercentage\": 50}]}" \ --presigned-url-config "{\"roleArn\":\"arn:aws:iam::123456789012:role/S3DownloadRole\", \"expiresInSec\":3600}"

Der optionale Parameter timeout-config gibt die Dauer an, die jedes Gerät für den Abschluss der Ausführung des Auftrags hat. Der Timer wird gestartet, wenn der Status der Auftragsausführung auf IN_PROGRESS gesetzt wird. Wird der Status der Auftragsausführung vor Ablauf der Zeit nicht auf einen anderen abschließenden Status festgelegt, wird er automatisch auf TIMED_OUT festgelegt.

Der Timer „In Bearbeitung“ kann nicht aktualisiert werden und gilt für alle Auftragsausführungen für den Auftrag. Immer wenn ein Auftragsstart länger als dieses Intervall im IN_PROGRESS Status verbleibt, schlägt der Jobstart fehl und wechselt in den TIMED_OUT Terminalstatus. AWS IoT veröffentlicht auch eine MQTT Benachrichtigung.

Weitere Informationen zum Konfigurieren von Auftragsrollouts und Auftragsabbrüchen finden Sie unter Auftragsrollout- und Abbruchkonfiguration.

Anmerkung

Auftragsdokumente, die als Amazon-S3-Dateien angegeben sind, werden zum Zeitpunkt der Erstellung des Auftrags abgerufen. Änderungen der Inhalte der Amazon-S3-Datei, die als Quelle Ihres Auftragsdokuments verwendet werden, nachdem Sie den Auftrag erstellt haben, ändern nicht, was an die Ziele des Auftrags gesendet wird.

Erstellen einer Auftragsvorlage anhand eines vorhandenen Auftrags

Der folgende AWS CLI Befehl erstellt eine Jobvorlage, indem der Amazon-Ressourcenname (ARN) eines vorhandenen Jobs angegeben wird. Die neue Auftragsvorlage verwendet alle im Auftrag angegebenen Konfigurationen. Optional können Sie jede der Konfigurationen im vorhandenen Auftrag ändern, indem Sie einen der optionalen Parameter verwenden.

aws iot create-job-template \ --job-arn arn:aws:iot:region:123456789012:job/job-name \ --timeout-config inProgressTimeoutInMinutes=100

Abrufen von Details einer Aufgabenvorlage

Mit dem folgenden AWS CLI Befehl werden Details zu einer angegebenen Jobvorlage abgerufen.

aws iot describe-job-template \ --job-template-id template-id

Die Ausgabe des Befehls sieht wie folgt aus:

{ "abortConfig": { "criteriaList": [ { "action": "string", "failureType": "string", "minNumberOfExecutedThings": number, "thresholdPercentage": number } ] }, "createdAt": number, "description": "string", "document": "string", "documentSource": "string", "jobExecutionsRolloutConfig": { "exponentialRate": { "baseRatePerMinute": number, "incrementFactor": number, "rateIncreaseCriteria": { "numberOfNotifiedThings": number, "numberOfSucceededThings": number } }, "maximumPerMinute": number }, "jobTemplateArn": "string", "jobTemplateId": "string", "presignedUrlConfig": { "expiresInSec": number, "roleArn": "string" }, "timeoutConfig": { "inProgressTimeoutInMinutes": number } }

Auflisten der Auftragsvorlagen

Der folgende AWS CLI Befehl listet alle Jobvorlagen in Ihrer auf AWS-Konto.

aws iot list-job-templates

Die Ausgabe des Befehls sieht wie folgt aus:

{ "jobTemplates": [ { "createdAt": number, "description": "string", "jobTemplateArn": "string", "jobTemplateId": "string" } ], "nextToken": "string" }

Verwenden Sie den Wert des Feldes nextToken, um weitere Ergebnisseiten abzurufen.

Löschen einer Auftragsvorlage

Der folgende AWS CLI Befehl löscht eine angegebene Jobvorlage.

aws iot delete-job-template \ --job-template-id template-id

Der Befehl zeigt keine Ausgabe an.

Erstellen eines Auftrags anhand einer benutzerdefinierten Auftragsvorlage

Der folgende AWS CLI Befehl erstellt einen Job aus einer benutzerdefinierten Jobvorlage. Es zielt auf ein Gerät mit dem Namen thingOne und gibt den Amazon-Ressourcennamen (ARN) der Jobvorlage an, die als Grundlage für den Job verwendet werden soll. Sie können erweiterte Konfigurationen wie Timeout- und Abbruchkonfigurationen überschreiben, indem Sie die zugehörigen Parameter des Befehls create-job übergeben.

Warnung

Das Objekt document-parameters darf nur zusammen mit dem Befehl create-job verwendet werden, wenn Aufträge aus AWS -verwalteten Vorlagen erstellt werden. Dieses Objekt darf nicht mit benutzerdefinierten Auftragsvorlagen verwendet werden. Ein Beispiel, das zeigt, wie Aufträge mit diesem Parameter erstellt werden, finden Sie unter Erstellen eines Auftrags mithilfe verwalteter Vorlagen.

aws iot create-job \ --targets arn:aws:iot:region:123456789012:thing/thingOne \ --job-template-arn arn:aws:iot:region:123456789012:jobtemplate/template-id