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

Auftragsereignisse

Der AWS IoT Jobs-Dienst veröffentlicht in reservierten Themen zum MQTT-Protokoll, wenn Jobs ausstehen, abgeschlossen oder storniert sind und wenn ein Gerät bei der Ausführung eines Jobs Erfolg oder Misserfolg meldet. Geräte oder Management- und Überwachungsanwendungen können den Status der Aufträge nachverfolgen, indem sie diese Topics abonnieren.

Aktivieren von Ereignisbenachrichtigungen

Antwortnachrichten des AWS IoT Jobs-Dienstes werden nicht über den Message Broker weitergeleitet und können auch nicht von anderen Clients oder Regeln abonniert werden. Verwenden Sie die Topics notify and notify-next, um Nachrichten zu Auftragsaktivitäten zu abonnieren. Weitere Informationen über auftragsbezogene Topics finden Sie unter Auftragsthemen.

Um über Job-Updates informiert zu werden, aktivieren Sie diese Job-Ereignisse mithilfe der AWS Management Console, oder mithilfe der API oder CLI. Weitere Informationen finden Sie unter Ereignisse aktivieren für AWS IoT.

Funktionsweise von Auftragsereignissen

Da das Abbrechen oder Löschen eines Auftrags einige Zeit in Anspruch nehmen kann, werden zwei Nachrichten gesendet, um den Start und das Ende einer Anfrage anzuzeigen. Wenn zum Beispiel eine Abbruchanfrage gestartet wird, wird eine Nachricht an das $aws/events/job/jobID/cancellation_in_progress-Thema gesendet. Wenn die Abbruchanfrage abgeschlossen ist, wird eine Nachricht an das $aws/events/job/jobID/canceled-Thema gesendet.

Ein ähnlicher Prozess findet bei einer Anfrage zur Löschung eines Auftrags statt. Management- und Überwachungsanwendungen können diese Themen abonnieren, um den Status von Aufträgen nachzuverfolgen. Für weitere Informationen zur Veröffentlichung und zum Abonnement von MQTT-Themen vgl. Gerätekommunikationsprotokolle.

Auftragsereignistypen

Im Folgenden werden die verschiedenen Arten von Auftragsereignissen dargestellt:

Auftrag abgeschlossen/storniert/gelöscht

Der AWS IoT Jobs-Service veröffentlicht eine Nachricht zu einem MQTT-Thema, wenn ein Job abgeschlossen, storniert oder gelöscht wird oder wenn gerade eine Stornierung oder Löschung im Gange ist:

  • $aws/events/job/jobID/completed

  • $aws/events/job/jobID/canceled

  • $aws/events/job/jobID/deleted

  • $aws/events/job/jobID/cancellation_in_progress

  • $aws/events/job/jobID/deletion_in_progress

Die completed-Nachricht enthält die folgende Beispielnutzlast:

{ "eventType": "JOB", "eventId": "7364ffd1-8b65-4824-85d5-6c14686c97c6", "timestamp": 1234567890, "operation": "completed", "jobId": "27450507-bf6f-4012-92af-bb8a1c8c4484", "status": "COMPLETED", "targetSelection": "SNAPSHOT|CONTINUOUS", "targets": [ "arn:aws:iot:us-east-1:123456789012:thing/a39f6f91-70cf-4bd2-a381-9c66df1a80d0", "arn:aws:iot:us-east-1:123456789012:thinggroup/2fc4c0a4-6e45-4525-a238-0fe8d3dd21bb" ], "description": "My Job Description", "completedAt": 1234567890123, "createdAt": 1234567890123, "lastUpdatedAt": 1234567890123, "jobProcessDetails": { "numberOfCanceledThings": 0, "numberOfRejectedThings": 0, "numberOfFailedThings": 0, "numberOfRemovedThings": 0, "numberOfSucceededThings": 3 } }

Die canceled-Nachricht enthält die folgende Beispielnutzlast.

{ "eventType": "JOB", "eventId": "568d2ade-2e9c-46e6-a115-18afa1286b06", "timestamp": 1234567890, "operation": "canceled", "jobId": "4d2a531a-da2e-47bb-8b9e-ff5adcd53ef0", "status": "CANCELED", "targetSelection": "SNAPSHOT|CONTINUOUS", "targets": [ "arn:aws:iot:us-east-1:123456789012:thing/Thing0-947b9c0c-ff10-4a80-b4b3-cd33d0145a0f", "arn:aws:iot:us-east-1:123456789012:thinggroup/ThingGroup1-95c644d5-1621-41a6-9aa5-ad2de581d18f" ], "description": "My job description", "createdAt": 1234567890123, "lastUpdatedAt": 1234567890123 }

Die deleted-Nachricht enthält die folgende Beispielnutzlast.

{ "eventType": "JOB", "eventId": "568d2ade-2e9c-46e6-a115-18afa1286b06", "timestamp": 1234567890, "operation": "deleted", "jobId": "4d2a531a-da2e-47bb-8b9e-ff5adcd53ef0", "status": "DELETED", "targetSelection": "SNAPSHOT|CONTINUOUS", "targets": [ "arn:aws:iot:us-east-1:123456789012:thing/Thing0-947b9c0c-ff10-4a80-b4b3-cd33d0145a0f", "arn:aws:iot:us-east-1:123456789012:thinggroup/ThingGroup1-95c644d5-1621-41a6-9aa5-ad2de581d18f" ], "description": "My job description", "createdAt": 1234567890123, "lastUpdatedAt": 1234567890123, "comment": "Comment for this operation" }

Die cancellation_in_progress-Nachricht enthält die folgende Beispielnutzlast:

{ "eventType": "JOB", "eventId": "568d2ade-2e9c-46e6-a115-18afa1286b06", "timestamp": 1234567890, "operation": "cancellation_in_progress", "jobId": "4d2a531a-da2e-47bb-8b9e-ff5adcd53ef0", "status": "CANCELLATION_IN_PROGRESS", "targetSelection": "SNAPSHOT|CONTINUOUS", "targets": [ "arn:aws:iot:us-east-1:123456789012:thing/Thing0-947b9c0c-ff10-4a80-b4b3-cd33d0145a0f", "arn:aws:iot:us-east-1:123456789012:thinggroup/ThingGroup1-95c644d5-1621-41a6-9aa5-ad2de581d18f" ], "description": "My job description", "createdAt": 1234567890123, "lastUpdatedAt": 1234567890123, "comment": "Comment for this operation" }

Die deletion_in_progress-Nachricht enthält die folgende Beispielnutzlast:

{ "eventType": "JOB", "eventId": "568d2ade-2e9c-46e6-a115-18afa1286b06", "timestamp": 1234567890, "operation": "deletion_in_progress", "jobId": "4d2a531a-da2e-47bb-8b9e-ff5adcd53ef0", "status": "DELETION_IN_PROGRESS", "targetSelection": "SNAPSHOT|CONTINUOUS", "targets": [ "arn:aws:iot:us-east-1:123456789012:thing/Thing0-947b9c0c-ff10-4a80-b4b3-cd33d0145a0f", "arn:aws:iot:us-east-1:123456789012:thinggroup/ThingGroup1-95c644d5-1621-41a6-9aa5-ad2de581d18f" ], "description": "My job description", "createdAt": 1234567890123, "lastUpdatedAt": 1234567890123, "comment": "Comment for this operation" }
Endstatus der Auftragsausführung

Der AWS IoT Jobs-Dienst veröffentlicht eine Meldung, wenn ein Gerät eine Jobausführung auf den Terminalstatus aktualisiert:

  • $aws/events/jobExecution/jobID/succeeded

  • $aws/events/jobExecution/jobID/failed

  • $aws/events/jobExecution/jobID/rejected

  • $aws/events/jobExecution/jobID/canceled

  • $aws/events/jobExecution/jobID/timed_out

  • $aws/events/jobExecution/jobID/removed

  • $aws/events/jobExecution/jobID/deleted

Die Nachricht enthält die folgende Beispielnutzlast:

{ "eventType": "JOB_EXECUTION", "eventId": "cca89fa5-8a7f-4ced-8c20-5e653afb3572", "timestamp": 1234567890, "operation": "succeeded|failed|rejected|canceled|removed|timed_out", "jobId": "154b39e5-60b0-48a4-9b73-f6f8dd032d27", "thingArn": "arn:aws:iot:us-east-1:123456789012:myThing/6d639fbc-8f85-4a90-924d-a2867f8366a7", "status": "SUCCEEDED|FAILED|REJECTED|CANCELED|REMOVED|TIMED_OUT", "statusDetails": { "key": "value" } }