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.
Aufträge und Status der Auftragsausführung
In den folgenden Abschnitten werden der Lebenszyklus eines - AWS IoT Auftrags und der Lebenszyklus einer Auftragsausführung beschrieben.
Auftragsstatus
Das folgende Diagramm zeigt die verschiedenen Status eines - AWS IoT Auftrags.
![Bild, das die verschiedenen Status eines - AWS IoT Auftrags zeigt.](images/job-states-diagram.png)
Ein Auftrag, den Sie mit AWS IoT Aufträgen erstellen, kann sich in einem der folgenden Zustände befinden:
-
GEPLANT
Während der ersten Auftrags- oder Auftragsvorlagenerstellung mithilfe der AWS IoT Konsole, CreateJob API oder CreateJobTemplate API können Sie die optionale Planungskonfiguration in der AWS IoT Konsole oder der
SchedulingConfig
in der CreateJob API oder CreateJobTemplate API auswählen. Wenn Sie einen geplanten Auftrag starten, der ein bestimmtesstartTime
,endTime
undendBehavoir
erhält, wird der Auftragsstatus aktualisiert aufSCHEDULED
. Wenn der Auftrag das von Ihnen gewähltestartTime
oderstartTime
des nächsten Wartungsfensters erreicht (falls Sie den Auftrags-Rollout während eines Wartungsfensters ausgewählt haben), wird der Status vonSCHEDULED
zuIN_PROGRESS
aktualisiert und mit dem Rollout des Auftragsdokuments auf allen Geräten in der Zielgruppe begonnen. -
IN_PROGRESS
Wenn Sie einen Auftrag mit der AWS IoT Konsole oder der CreateJob API erstellen, wird der Auftragsstatus auf aktualisiert
IN_PROGRESS
. Während der Auftragserstellung beginnt AWS IoT Jobs mit der Bereitstellung von Auftragsausführungen auf den Geräten Ihrer Zielgruppe. Nachdem alle Auftragsausführungen eingeführt wurden, wartet AWS IoT Jobs darauf, dass die Geräte die Remote-Aktion abgeschlossen haben.Informationen zur Parallelität und zu den Beschränkungen, die für laufende Aufträge gelten, finden Sie unter Auftragsbeschränkungen.
Anmerkung
Wenn ein
IN_PROGRESS
-Auftrag das Ende des aktuellen Wartungsfensters erreicht, wird der Rollout des Auftragsdokuments beendet. Der Auftrag wirdSCHEDULED
bis zumstartTime
nächsten Wartungsfenster aktualisiert. -
COMPLETED
Ein kontinuierlicher Auftrag wird auf eine der folgenden Arten behandelt:
-
Bei einem kontinuierlichen Auftrag, bei dem die optionale Planungskonfiguration nicht ausgewählt wurde, ist er immer in Bearbeitung und wird für alle neuen Geräte, die der Zielgruppe hinzugefügt werden, weiterhin ausgeführt. Es wird niemals den Status
COMPLETED
erreichen. -
Für einen kontinuierlichen Auftrag mit der ausgewählten optionalen Planungskonfiguration gilt Folgendes:
-
Wenn ein
endTime
angegeben wurde, erreicht ein kontinuierlicher Auftrag den StatusCOMPLETED
, wenn erendTime
bestanden hat und alle Auftragsausführungen den Terminal-Zustand erreicht haben. -
Wenn in der optionalen Planungskonfiguration kein bereitgestellt
endTime
wurde, führt der fortlaufende Auftrag weiterhin den Rollout des Auftragsdokuments durch.
-
Bei einem Snapshot-Auftrag ändert sich der Auftragsstatus in den
COMPLETED
-Zustand, in dem alle zugehörigen Auftragsausführungen in einen Terminal-Zustand übergehen, z. B.SUCCEEDED
,FAILED
,TIMED_OUT
,REMOVED
oderCANCELED
. -
-
CANCELED
Wenn Sie einen Auftrag mit der AWS IoT Konsole, der CancelJob API oder der abbrechenKonfiguration des Auftragsabbruchs, ändert sich der Auftragsstatus in
CANCELED
. Während der Auftragsabbruch beginnt AWS IoT Jobs mit dem Abbrechen zuvor erstellter Auftragsausführungen.Informationen zur Gleichzeitigkeit und zu den Grenzen, die für abgebrochene Aufträge gelten, finden Sie unter Auftragsbeschränkungen.
-
DELETION_IN_PROGRESS
Wenn Sie einen Auftrag mit der AWS IoT Konsole oder der DeleteJob API löschen, ändert sich der Auftragsstatus in
DELETION_IN_PROGRESS
. Während der Auftragslöschung beginnt AWS IoT Jobs mit dem Löschen zuvor erstellter Auftragsausführungen. Nachdem alle Auftragsausführungen gelöscht wurden, verschwindet der Auftrag aus Ihrem AWS Konto.
Auftragsausführungsstatus
Die folgende Tabelle zeigt die verschiedenen Status einer AWS IoT Auftragsausführung und ob die Statusänderung vom Gerät oder von AWS IoT Aufträgen initiiert wird.
Status und Quelle der Auftragsausführung | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
Auftrags-Ausführungsstatus | Vom Gerät initiiert? | Von AWS IoT Jobs initiiert? | Terminal-Status? | Kann erneut versucht werden? | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
QUEUED |
Nein | Ja | Nein | Nicht zutreffend | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
IN_PROGRESS |
Ja | Nein | Nein | Nicht zutreffend | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
SUCCEEDED |
Ja | Nein | Ja | Nicht zutreffend | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
FAILED |
Ja | Nein | Ja | Ja | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
TIMED_OUT |
Nein | Ja | Ja | Ja | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
REJECTED |
Ja | Nein | Ja | Nein | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
REMOVED |
Nein | Ja | Ja | Nein | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
CANCELED |
Nein | Ja | Ja | Nein |
Im folgenden Abschnitt werden weitere Informationen über den Status einer Auftragsausführung beschrieben, die beim Erstellen eines Auftrags mit AWS IoT Aufträgen ausgeführt wird.
-
IN WARTESCHLANGE
Wenn AWS IoT Jobs eine Auftragsausführung für ein Zielgerät einführt, wird der Status der Auftragsausführung auf gesetzt
QUEUED
. Die Auftragsausführung bleibt so lange im StatusQUEUED
, bis:-
Ihr Gerät empfängt die Auftragsausführung und ruft die Jobs API-Operationen auf und meldet den Status als
IN_PROGRESS
. -
Sie brechen den Auftrag oder die Auftragsausführung ab, oder wenn die von Ihnen angegebenen Abbruchkriterien erfüllt sind und der Status sich auf
CANCELED
ändert. -
Ihr Gerät wird aus der Zielgruppe entfernt und der Status ändert sich auf
REMOVED
.
-
-
IN_PROGRESS
Wenn Ihr IoT-Gerät das reservierte Auftragsthemen
$notify
und abonniert$notify-next
und Ihr Gerät entweder die -StartNextPendingJobExecution
API oder die -UpdateJobExecution
API mit dem Status aufruftIN_PROGRESS
, setzt AWS IoT Jobs den Status der Auftragsausführung aufIN_PROGRESS
.Die
UpdateJobExecution
-API kann mehrfach mit dem StatusIN_PROGRESS
aufgerufen werden. Sie können mithilfe desstatusDetails
-Objekts zusätzliche Details zu den Ausführungsschritten angeben.Anmerkung
Wenn Sie mehrere Aufträge für jedes Gerät erstellen, garantieren AWS IoT Jobs und das MQTT-Protokoll die Reihenfolge der Lieferung nicht.
-
SUCCEEDED
Wenn Ihr Gerät den Remote-Vorgang erfolgreich abgeschlossen hat, muss das Gerät die
UpdateJobExecution
API mit dem Status aufrufen,SUCCEEDED
um anzuzeigen, dass die Auftragsausführung erfolgreich war. AWS IoT Aufträge aktualisiert dann und gibt den Status der Auftragsausführung als zurückSUCCEEDED
. -
FEHLGESCHLAGEN
Wenn Ihr Gerät den Remote-Vorgang nicht abschließen kann, muss das Gerät die
UpdateJobExecution
API mit dem Status aufrufen,Failed
um anzuzeigen, dass die Auftragsausführung fehlgeschlagen ist. AWS IoT Aufträge aktualisiert dann und gibt den Status der Auftragsausführung als zurückFailed
. Sie können versuchen, diese Auftragsausführung für das Gerät mittels des Auftragsausführung: Konfiguration wiederholen erneut auszuführen. -
TIMED_OUT
Wenn Ihr Gerät einen Auftragsschritt nicht abschließen kann, wenn der Status lautet
IN_PROGRESS
, oder wenn der Remote-Vorgang nicht innerhalb der Timeout-Dauer des Timers in Bearbeitung abgeschlossen werden kann, setzt AWS IoT Jobs den Status der Auftragsausführung aufTIMED_OUT
. Sie haben außerdem einen Schrittzeitgeber für jeden Auftragsschritt eines laufenden Auftrags, der nur für die Auftragsausführung gilt. Die Dauer des in Bearbeitung befindlichen Timers wird mithilfe derinProgressTimeoutInMinutes
-Eigenschaft von Timeout-Konfiguration für die Auftragsausführung angegeben. Sie können versuchen, diese Auftragsausführung für das Gerät mittels des Auftragsausführung: Konfiguration wiederholen erneut auszuführen. -
ABGELEHNT
Wenn Ihr Gerät eine ungültige oder inkompatible Anfrage erhält, muss das Gerät die
UpdateJobExecution
API mit dem StatusREJECTED
. AWS IoT Jobs aufrufen und dann den Status der Auftragsausführung als zurückgebenREJECTED
. -
ENTFERNT
Wenn Ihr Gerät kein gültiges Ziel für die Auftragsausführung mehr ist, z. B. wenn es von einer dynamischen Objektgruppe getrennt ist, setzt AWS IoT Jobs den Status der Auftragsausführung auf
REMOVED
. Sie können das Objekt wieder an Ihre Zielgruppe anhängen und die Auftragsausführung für das Gerät neu starten. -
CANCELED
Wenn Sie einen Auftrag abbrechen oder eine Auftragsausführung mit der Konsole, der
CancelJob
oder derCancelJobExecution
API abbrechen oder wenn die mit der angegebenen Abbruchkriterien erfüllt Konfiguration des Auftragsabbruchs sind, bricht AWS IoT Jobs den Auftrag ab und legt den Status der Auftragsausführung auf festCANCELED
.