Auftragsausführung - 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.

Auftragsausführung

„Device can complete a job execution“

Mit diesem Testfall können Sie überprüfen, ob Ihr Gerät Updates mithilfe von AWS IoT Jobs empfangen kann, und den Status erfolgreicher Updates veröffentlichen. Weitere Informationen zu AWS IoT Jobs finden Sie unter Jobs.

Um diesen Testfall erfolgreich ausführen zu können, gibt es zwei reservierte AWS Themen, denen Sie Ihre Geräterolle zuweisen müssen. Verwenden Sie die Themen notify und notify-next, um Nachrichten zu Auftragsaktivitäten zu abonnieren. Ihre Geräterolle muss PUBLISH Aktionen für die folgenden Themen gewähren:

  • $aws/things/ /jobs/ /get thingNamejobId

  • $aws/things/ /jobs/ thingName/update jobId

Es wird empfohlen, Zuschüsse und Maßnahmen für die folgenden Themen bereitzustellen: SUBSCRIBE RECEIVE

  • $aws/things/ /jobs/get/accepted thingName

  • $aws/things/ /jobs/ thingName/get/rejected jobId

  • $aws/things/ /jobs/ thingName/update/akzeptiert jobId

  • $aws/things/ /jobs/ thingName/update/abgelehnt jobId

Es wird empfohlen, Maßnahmen für das folgende Thema zu gewähren: SUBSCRIBE

  • $aws/things/ /jobs/notify-next thingName

Weitere Informationen zu diesen reservierten Themen finden Sie unter Reservierte Themen für AWS IoT -Aufträge.

MQTTOver wird WebSocket derzeit nicht unterstützt.

APITestfalldefinition:

Anmerkung

EXECUTION_TIMEOUT hat einen Standardwert von 5 Minuten. Wir empfehlen einen Timeout-Wert von 3 Minuten. Passen Sie je nach dem bereitgestellten AWS IoT Jobdokument oder der angegebenen Quelle den Timeout-Wert an (wenn die Ausführung eines Jobs beispielsweise lange dauert, definieren Sie einen längeren Timeout-Wert für den Testfall). Um den Test auszuführen, ist entweder ein gültiges AWS IoT Jobdokument oder eine bereits vorhandene Job-ID erforderlich. Ein AWS IoT Jobdokument kann als JSON Dokument oder als S3-Link bereitgestellt werden. Wenn ein Auftragsdokument bereitgestellt wird, ist die Angabe einer Auftrags-ID optional. Wenn eine Job-ID angegeben wird, verwendet Device Advisor diese ID bei der Erstellung des AWS IoT Jobs in Ihrem Namen. Wenn das Auftragsdokument nicht bereitgestellt wird, können Sie eine vorhandene ID angeben, die sich in derselben Region befindet, in der Sie den Testfall ausführen. In diesem Fall verwendet Device Advisor diesen AWS IoT Job bei der Ausführung des Testfalls.

"tests": [ { "name":"my_job_execution", "configuration": { // optional: // Test case will create a job task by using either JOB_DOCUMENT or JOB_DOCUMENT_SOURCE. // If you manage the job task on your own, leave it empty and provide the JOB_JOBID (self-managed job task). // JOB_DOCUMENT is a JSON formatted string "JOB_DOCUMENT": "{ \"operation\":\"reboot\", \"files\" : { \"fileName\" : \"install.py\", \"url\" : \"${aws:iot:s3-presigned-url:https://s3.amazonaws.com/bucket-name/key}\" } }", // JOB_DOCUMENT_SOURCE is an S3 link to the job document. It will be used only if JOB_DOCUMENT is not provided. "JOB_DOCUMENT_SOURCE": "https://s3.amazonaws.com/bucket-name/key", // JOB_JOBID is mandatory, only if neither document nor document source is provided. (Test case needs to know the self-managed job task id). "JOB_JOBID": "String", // JOB_PRESIGN_ROLE_ARN is used for the presign Url, which will replace the placeholder in the JOB_DOCUMENT field "JOB_PRESIGN_ROLE_ARN": "String", // Presigned Url expiration time. It must be between 60 and 3600 seconds, with the default value being 3600. "JOB_PRESIGN_EXPIRES_IN_SEC": "Long" "EXECUTION_TIMEOUT": "300", // in seconds }, "test": { "id": "Job_Execution", "version": "0.0.0" } } ]

Weitere Informationen zum Erstellen und Verwenden von Auftragsdokumenten finden Sie im Auftragsdokument.