Redriving -Ausführungen - AWS Step Functions

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.

Redriving -Ausführungen

Sie können verwendenredrive, um Ausführungen von Standard-Workflows neu zu starten, die in den letzten 14 Tagen nicht erfolgreich abgeschlossen wurden. Dazu gehören fehlgeschlagene, abgebrochene oder abgelaufene Ausführungen.

Wenn Sie redrive eine Ausführung ausführen, wird die fehlgeschlagene Ausführung ab dem erfolglosen Schritt fortgesetzt und dieselbe Eingabe verwendet. Step Functions behält die Ergebnisse und den Ausführungsverlauf der erfolgreichen Schritte bei und diese Schritte werden nicht erneut ausgeführt, wenn Sie redrive eine Ausführung ausführen. Angenommen, Ihr Workflow enthält zwei Status: einen Pass Status gefolgt von einem Aufgabe Status. Wenn Ihre Workflow-Ausführung im Status Aufgabe fehlschlägt und Sie redrive die Ausführung durchführen, wird die Ausführung neu geplant und dann erneut ausgeführt.

Redriven -Ausführungen verwenden dieselbe Definition und denselben Ausführungs-ARN des Zustandsautomaten, der für den ursprünglichen Ausführungsversuch verwendet wurde. Wenn Ihr ursprünglicher Ausführungsversuch mit einer Version , einem Alias oder beidem verknüpft war, wird die redriven Ausführung mit derselben Version, demselben Alias oder beidem verknüpft. Auch wenn Sie Ihren Alias aktualisieren, sodass er auf eine andere Version verweist, verwendet die redriven Ausführung weiterhin die Version, die dem ursprünglichen Ausführungsversuch zugeordnet ist. Da redriven Ausführungen dieselbe Definition für den Zustandsautomaten verwenden, müssen Sie eine neue Ausführung starten, wenn Sie Ihre Definition für den Zustandsautomaten aktualisieren.

Wenn Sie redrive eine Ausführung ausführen, wird das Timeout auf Zustandsautomatenebene, falls definiert, auf 0 zurückgesetzt. Weitere Informationen zum Timeout auf Zustandsautomatenebene finden Sie unter TimeoutSeconds.

Die Ausführung redrives wird als Zustandsübergänge betrachtet. Informationen darüber, wie sich Statusübergänge auf die Abrechnung auswirken, finden Sie unter Step Functions – Preise.

Redrive Berechtigung für erfolglose Ausführungen

Sie können redrive Ausführungen ausführen, wenn Ihr ursprünglicher Ausführungsversuch die folgenden Bedingungen erfüllt:

  • Sie haben die Ausführung am oder nach dem 15. November 2023 gestartet. Ausführungen, die Sie vor diesem Datum gestartet haben, kommen nicht für in Frageredrive.

  • Der Ausführungsstatus lautet nicht SUCCEEDED.

  • Die Workflow-Ausführung hat den redrivable Zeitraum von 14 Tagen nicht überschritten. -RedrivableZeitraum bezieht sich auf die Zeit, in der Sie redrive eine bestimmte Ausführung ausführen können. Dieser Zeitraum beginnt an dem Tag, an dem ein Zustandsautomat seine Ausführung abschließt.

  • Die Workflow-Ausführung hat die maximale Öffnungszeit von einem Jahr nicht überschritten. Informationen zu Ausführungskontingenten für Zustandsautomaten finden Sie unter Kontingente im Zusammenhang mit der Ausführung von Zustandsmaschinen.

  • Die Anzahl der Ausführungsereignisse beträgt weniger als 24.999. -RedrivenAusführungen fügen ihren Ereignisverlauf an den vorhandenen Ereignisverlauf an. Stellen Sie sicher, dass Ihre Workflow-Ausführung weniger als 24.999 Ereignisse enthält, um das ExecutionRedriven Verlaufsereignis und mindestens ein anderes Verlaufsereignis zu berücksichtigen.

Redrive Verhalten einzelner Status

Je nach Status, der in Ihrem Workflow fehlgeschlagen ist, variiert das redrive Verhalten für alle nicht erfolgreichen Status. In der folgenden Tabelle wird das redrive Verhalten für alle Status beschrieben.

Statusname Redrive Ausführungsverhalten
Pass

Wenn ein vorangehender Schritt fehlschlägt oder der Zustandsautomat eine Zeitüberschreitung aufweist, wird der Status „Bestanden“ beendet und nicht auf ausgeführtredrive.

Aufgabe

Plant und startet den Aufgabenstatus erneut.

Wenn Sie redrive eine Ausführung ausführen, die einen Aufgabenstatus erneut ausführt, wird der TimeoutSeconds für den Status, falls definiert, auf 0 zurückgesetzt. Weitere Informationen zum Timeout finden Sie unter Aufgabenstatus .

Choice Bewertet die Choice-Statusregeln neu.
Wait

Wenn der Status Timestamp oder angibtTimestampPath, die sich auf einen Zeitstempel in der Vergangenheit bezieht, redrive bewirkt , dass der Wartestatus beendet wird und in den im Next Feld angegebenen Status übergeht.

Succeed

Statt redrive Maschinenausführungen, die in den Status Erfolgreich wechseln, nicht zu.

Fehler

Setzt den Status Fehlgeschlagen erneut ein und schlägt erneut fehl.

Parallel

Ändert und redrives nur die Verzweigungen, die fehlgeschlagen oder abgebrochen wurden.

Wenn der Status aufgrund eines States.DataLimitExceeded Fehlers fehlgeschlagen ist, wird der Parallelstatus erneut ausgeführt, einschließlich der Verzweigungen, die beim ursprünglichen Ausführungsversuch erfolgreich waren.

Inline-Zuweisungsstatus

plant und redrives nur die Iterationen, die fehlgeschlagen oder abgebrochen wurden.

Wenn der Status aufgrund eines States.DataLimitExceeded Fehlers fehlgeschlagen ist, wird der Inline Map-Status erneut ausgeführt, einschließlich der Iterationen, die beim ursprünglichen Ausführungsversuch erfolgreich waren.

Status der verteilten Zuordnung

redrives Die erfolglosen untergeordneten Workflow-Ausführungen in einer Map-Ausführung. Weitere Informationen finden Sie unter RedrivingKarte läuft.

Wenn der Status aufgrund eines States.DataLimitExceeded Fehlers fehlgeschlagen ist, wird der Status Distributed Map erneut ausgeführt. Dazu gehören die untergeordneten Workflows, die beim ursprünglichen Ausführungsversuch erfolgreich waren.

IAM-Berechtigung für redrive eine Ausführung

Step Functions benötigt die entsprechende Berechtigung für redrive eine Ausführung. Das folgende Beispiel für eine IAM-Richtlinie gewährt Ihrem Zustandsautomaten die geringste Berechtigung für redriving eine Ausführung. Denken Sie daran, den kursiv gedruckten Text durch Ihre ressourcenspezifischen Informationen zu ersetzen.

{ "Version": "2012-10-17", "Statement": [ { "Effect": "Allow", "Action": [ "states:RedriveExecution" ], "Resource": "arn:aws:states:us-east-2:123456789012:execution:myStateMachine:*" } ] }

Ein Beispiel für die Berechtigung, die Sie für redrive eine Map-Ausführung benötigen, finden Sie unter Beispiel für eine IAM-Richtlinie für redriving eine Distributed Map.

Redriving -Ausführungen in der -Konsole

Sie können redriveberechtigte Ausführungen über die Step Functions Konsole vornehmen.

Angenommen, die folgende Abbildung stellt das Workflow-Diagramm Ihres Zustandsautomaten dar.

Workflow-Diagramm eines Zustandsautomaten, das die Zustände „Bestanden“, „Parallel“, Lambda „Aufrufen“ und „Warten“ enthält.

Angenommen, Sie führen diesen Zustandsautomaten aus. Die folgende Abbildung zeigt das Diagramm für die Ausführung des Zustandsautomaten.

Diagramm einer fehlgeschlagenen Ausführung des Zustandsautomaten. In dieser Ausführung schlug der Parallelstatuszweig mit dem Namen Quadratzahl ausführen fehl, was zu einem Fehler des Parallelstatus führte.

Wie in dieser Abbildung gezeigt, hat der Lambda Aufrufschritt mit dem Namen Quadratzahl innerhalb des Parallel-Zustands einen Fehler zurückgegeben. Dies führte dazu, dass der parallele Status fehlschlug. Die Verzweigungen, deren Ausführung in Bearbeitung war oder nicht gestartet wurde, werden gestoppt und die Ausführung des Zustandsautomaten schlägt fehl.

Zu redrive einer Ausführung von der Konsole aus
  1. Öffnen Sie die Step-Functions-Konsole und wählen Sie dann einen vorhandenen Zustandsautomaten aus, dessen Ausführung fehlgeschlagen ist.

  2. Wählen Sie auf der Detailseite des Zustandsautomaten unter Ausführungen eine fehlgeschlagene Ausführungs-Instance aus.

  3. Wählen Sie Redrive.

  4. Wählen Sie im Redrive Dialogfeld Redrive Ausführung aus.

    Tipp

    Wenn Sie sich auf der Seite Ausführungsdetails einer fehlgeschlagenen Ausführung befinden, führen Sie einen der folgenden Schritte für redrive die Ausführung aus:

    • Wählen Sie Wiederherstellen und dann Redrive aus Fehler aus.

    • Wählen Sie Aktionen und dann ausRedrive.

    Beachten Sie, dass dieselbe Zustandsautomatendefinition und denselben ARN redrive verwendet. Es führt die Ausführung ab dem Schritt aus, der beim ursprünglichen Ausführungsversuch fehlgeschlagen ist. In diesem Beispiel ist es der Schritt Quadratzahl ausführen und 3 Sekunden warten innerhalb des parallelen Zustands. Nach dem Neustart der Ausführung dieser erfolglosen Schritte im Parallel-Status redrive setzt die Ausführung für den Schritt Fertig fort.

  5. Wählen Sie die Ausführung aus, um die Seite Ausführungsdetails zu öffnen.

    Auf dieser Seite können Sie die Ergebnisse der redriven Ausführung anzeigen. Im Ausführungsübersicht Abschnitt können Sie beispielsweise die Redrive Anzahl sehen, die angibt, wie oft eine Ausführung warredriven. Im Abschnitt Ereignisse können Sie die redrive zugehörigen Ausführungsereignisse sehen, die an die Ereignisse des ursprünglichen Ausführungsversuchs angehängt sind. Zum Beispiel das -ExecutionRedrivenEreignis.

Redriving -Ausführungen mit der API

Sie können redrive berechtigte Ausführungen mit der RedriveExecution-API verwenden. Diese API startet erfolglose Ausführungen von Standard-Workflows ab dem Schritt neu, der fehlgeschlagen, abgebrochen oder abgelaufen ist.

Führen Sie in der AWS Command Line Interface (AWS CLI) den folgenden Befehl für redrive eine erfolglose Ausführung des Zustandsautomaten aus. Denken Sie daran, den kursiv gedruckten Text durch Ihre ressourcenspezifischen Informationen zu ersetzen.

aws stepfunctions redrive-execution --execution-arn arn:aws:states:us-east-2:123456789012:execution:myStateMachine:foo

Untersuchen von redriven Ausführungen

Sie können eine redriven Ausführung in der Konsole oder mit den APIs untersuchen: GetExecutionHistory und DescribeExecution.

Untersuchen von redriven Ausführungen auf der Konsole
  1. Öffnen Sie die Step-Functions-Konsole und wählen Sie dann einen vorhandenen Zustandsautomaten aus, für den Sie redriven eine Ausführung haben.

  2. Öffnen Sie die Seite Ausführungsdetails.

    Auf dieser Seite können Sie die Ergebnisse der redriven Ausführung anzeigen. Im Ausführungsübersicht Abschnitt können Sie beispielsweise die Redrive Anzahl sehen, die angibt, wie oft eine Ausführung warredriven. Im Abschnitt Ereignisse können Sie die redrive zugehörigen Ausführungsereignisse sehen, die an die Ereignisse des ursprünglichen Ausführungsversuchs angehängt sind. Zum Beispiel das -ExecutionRedrivenEreignis.

Untersuchen von redriven Ausführungen mithilfe von APIs

Wenn Sie redriven eine Zustandsautomaten-Ausführung haben, können Sie eine der folgenden APIs verwenden, um Details zur redriven Ausführung anzuzeigen. Denken Sie daran, den kursiv gedruckten Text durch Ihre ressourcenspezifischen Informationen zu ersetzen.

  • GetExecutionHistory – Gibt den Verlauf der angegebenen Ausführung als Liste von Ereignissen zurück. Diese API gibt auch die Details zum redrive Versuch einer Ausführung zurück, falls verfügbar.

    AWS CLIFühren Sie in der den folgenden Befehl aus.

    aws stepfunctions get-execution-history --execution-arn arn:aws:states:us-east-2:123456789012:execution:myStateMachine:foo
  • DescribeExecution – Stellt Informationen über die Ausführung eines Zustandsautomaten bereit. Dies kann der der Ausführung zugeordnete Zustandsautomat, die Ausführungseingabe und -ausgabe, redrive Ausführungsdetails, falls verfügbar, und relevante Ausführungsmetadaten sein.

    AWS CLIFühren Sie in der den folgenden Befehl aus.

    aws stepfunctions describe-execution --execution-arn arn:aws:states:us-east-2:123456789012:execution:myStateMachine:foo

Wiederholungsverhalten von redriven Ausführungen

Wenn Ihre redriven Ausführung einen Aufgabe-, - Paralleloder Inline Map-Status erneut ausführt, für den Sie Wiederholungsversuche definiert haben, wird die Anzahl der Wiederholungsversuche für diese Zustände auf 0 zurückgesetzt. Dies ermöglicht die maximale Anzahl von Versuchen auf redrive. Für eine redriven Ausführung können Sie einzelne Wiederholungsversuche dieser Zustände mithilfe der Konsole verfolgen.

So untersuchen Sie die einzelnen Wiederholungsversuche in der Konsole
  1. Wählen Sie auf der Seite Ausführungsdetails der Step-Functions-Konsole einen Status aus, der auf erneut versucht wurderedrive.

  2. Wählen Sie die Registerkarte Wiederholungen und redrives aus.

  3. Wählen Sie die arrow icon neben jedem Wiederholungsversuch aus, um dessen Details anzuzeigen. Wenn der Wiederholungsversuch erfolgreich war, können Sie die Ergebnisse in Ausgabe anzeigen, die in einem Dropdown-Feld angezeigt wird.

Die folgende Abbildung zeigt ein Beispiel für die Wiederholungsversuche, die für einen -Zustand im ursprünglichen Ausführungsversuch durchgeführt wurden, und für die redrives dieser Ausführung. In diesem Image werden drei Wiederholungsversuche im Original und in redrive Ausführungsversuchen durchgeführt. Die Ausführung ist beim vierten redrive Versuch erfolgreich und gibt eine Ausgabe von 16 zurück.

Wiederholt die Registerkarte & redrives eines redriven Aufgabenstatus. Auf dieser Registerkarte werden die drei Wiederholungsversuche der ursprünglichen Ausführung und die redrives dieser Ausführung angezeigt. Die Ausführung ist beim vierten redrive Versuch erfolgreich und gibt eine Ausgabe von 16 zurück.