Aufträge und Status der 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.

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.

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 bestimmtes startTime, endTime und endBehavoir erhält, wird der Auftragsstatus aktualisiert auf SCHEDULED. Wenn der Auftrag das von Ihnen gewählte startTime oder startTime des nächsten Wartungsfensters erreicht (falls Sie den Auftrags-Rollout während eines Wartungsfensters ausgewählt haben), wird der Status von SCHEDULED zu IN_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 aktualisiertIN_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 wird SCHEDULED bis zum startTime 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 Status COMPLETED, wenn er endTime 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 oder CANCELED.

  • 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 gesetztQUEUED. Die Auftragsausführung bleibt so lange im Status QUEUED, 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.

    Das Bild zeigt, wie die Ausführung eines Auftrags in der Warteschlange den Status IN_PROGRESS ändert und wie ein Auftrag ABGELEHNT werden kann, wenn das Gerät die Anfrage zur Auftragserstellung nicht akzeptiert.
  • IN_PROGRESS

    Wenn Ihr IoT-Gerät das reservierte Auftragsthemen $notify und abonniert $notify-nextund Ihr Gerät entweder die -StartNextPendingJobExecutionAPI oder die -UpdateJobExecutionAPI mit dem Status aufruftIN_PROGRESS, setzt AWS IoT Jobs den Status der Auftragsausführung auf IN_PROGRESS.

    Die UpdateJobExecution-API kann mehrfach mit dem Status IN_PROGRESS aufgerufen werden. Sie können mithilfe des statusDetails-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.

    Das Bild zeigt, wie die Ausführung eines laufenden Auftrags fehlschlagen kann und wie die Ausführung erneut versucht werden kann.
  • 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.

    Das Bild zeigt, wie die Ausführung eines laufenden Auftrags fehlschlagen kann und wie die Ausführung erneut versucht werden kann.
  • TIMED_OUT

    Wenn Ihr Gerät einen Auftragsschritt nicht abschließen kann, wenn der Status lautetIN_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 auf TIMED_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 der inProgressTimeoutInMinutes-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.

    Bild, das zeigt, wie ein laufender Auftrag eine Zeitüberschreitung verursachen kann und wie Sie die Ausführung erneut versuchen können.
  • ABGELEHNT

    Wenn Ihr Gerät eine ungültige oder inkompatible Anfrage erhält, muss das Gerät die UpdateJobExecution API mit dem Status REJECTED. 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 der CancelJobExecution 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.