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.
Sie können Folgendes verwenden … redrive 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 zeitüberschreitende Ausführungen.
Wenn Sie redrive eine Ausführung, Step Functions setzt die fehlgeschlagene Ausführung des erfolglosen Schritts fort und verwendet dieselbe Eingabe. Step Functions behält die Ergebnisse und die Ausführungshistorie der erfolgreichen Schritte bei, die nicht erneut ausgeführt werden, wenn Sie redrive eine Ausführung. Nehmen wir zum Beispiel an, dass Ihr Workflow zwei Status enthält: einen Workflow-Status übergeben Status, gefolgt von einem Workflow-Status der Aufgabe Status. Wenn Ihre Workflow-Ausführung im Task-Status fehlschlägt und Sie redrive bei der Ausführung wird der Task-Status neu geplant und anschließend erneut ausgeführt.
Redriven Ausführungen verwenden dieselbe Zustandsmaschinen-Definition und denselben Ausführungs-ARN, die für den ursprünglichen Ausführungsversuch verwendet wurden. Wenn Ihr ursprünglicher Ausführungsversuch mit einer Version, einem Alias oder beidem verknüpft war, redriven Die Ausführung ist derselben Version, demselben Alias oder beidem zugeordnet. Selbst wenn Sie Ihren Alias so aktualisieren, dass er auf eine andere Version verweist, redriven Die Ausführung verwendet weiterhin die Version, die dem ursprünglichen Ausführungsversuch zugeordnet war. Weil redriven Ausführungen verwenden dieselbe Zustandsmaschinen-Definition. Sie müssen eine neue Ausführung starten, wenn Sie Ihre Zustandsmaschinen-Definition aktualisieren.
Wenn Sie redrive Bei einer Ausführung wird der Timeout auf State-Machine-Ebene, sofern definiert, auf 0 zurückgesetzt. Weitere Hinweise zum Timeout auf State-Machine-Ebene finden Sie unter. TimeoutSeconds
Ausführung redrives werden als Zustandsübergänge betrachtet. Informationen darüber, wie sich Statusübergänge auf die Abrechnung auswirken, finden Sie unter Step Functions — Preisgestaltung
Redrive Eignung für erfolglose Hinrichtungen
Sie können redrive Ausführungen, wenn Ihr ursprünglicher Ausführungsversuch die folgenden Bedingungen erfüllt:
-
Sie haben die Hinrichtung am oder nach dem 15. November 2023 begonnen. Hinrichtungen, die Sie vor diesem Datum begonnen haben, kommen nicht in Frage redrive.
-
Der Ausführungsstatus ist nicht
SUCCEEDED
. -
Die Workflow-Ausführung hat den Wert nicht überschritten redrivable Zeitraum von 14 Tagen. Redrivable Zeitraum bezieht sich auf die Zeit, in der Sie redrive eine bestimmte Ausführung. Dieser Zeitraum beginnt an dem Tag, an dem eine Zustandsmaschine ihre Ausführung abschließt.
-
Die Workflow-Ausführung hat die maximale Öffnungszeit von einem Jahr nicht überschritten. Informationen zu den Quoten für die Ausführung von Zustandsmaschinen finden Sie unterKontingente im Zusammenhang mit der Ausführung von Zustandsmaschinen.
-
Die Anzahl der Ausführungsereignisse liegt unter 24.999. Redriven Ausfü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 Verlaufsereignis und mindestens ein anderes
ExecutionRedriven
Verlaufsereignis zu berücksichtigen.
Redrive Verhalten einzelner Staaten
Abhängig von dem Status, der in Ihrem Workflow versagt hat, redrive Das Verhalten für alle erfolglosen Staaten ist unterschiedlich. In der folgenden Tabelle wird beschrieben redrive Verhalten für alle Staaten.
Name des Bundesstaates | Redrive Verhalten bei der Ausführung |
---|---|
Workflow-Status übergeben |
Wenn ein vorhergehender Schritt fehlschlägt oder bei der Zustandsmaschine ein Timeout auftritt, wird der Pass-Status beendet und nicht ausgeführt redrive. |
Workflow-Status der Aufgabe |
Plant den Task-Status und startet ihn erneut. Wenn Sie redrive Bei einer Ausführung, bei der ein Task-Status erneut ausgeführt wird, wird der Status |
Workflow-Status „Auswahl“ | Wertet die Regeln für den Choice-Status neu aus. |
Workflow-Status warten |
Wenn der Status einen Zeitstempel in der Vergangenheit |
Workflow-Status „Erfolgreich“ |
Tut es nicht redrive gibt Maschinenausführungen an, die in den Status Erfolgreich übergehen. |
Workflow-Status „Fehlgeschlagen“ |
Wechselt erneut in den Status Fehlgeschlagen und schlägt erneut fehl. |
Status des parallelen Workflows |
Terminverschiebungen und redrives nur die Zweige, die ausgefallen sind oder abgebrochen wurden. Wenn der Status aufgrund eines |
Status „Inline Map“ |
Terminverschiebungen und redrives nur die Iterationen, die fehlgeschlagen sind oder abgebrochen wurden. Wenn der Status aufgrund eines |
Status „Verteilte Karte“ |
redrives die erfolglosen untergeordneten Workflow-Ausführungen in einem Map Run. Weitere Informationen finden Sie unter Redriving Map-Runs in Step Functions Functions-Ausführungen. Wenn der Status aufgrund eines |
IAM-Erlaubnis für redrive eine Hinrichtung
Step Functions benötigt die entsprechende Genehmigung für redrive eine Hinrichtung. Das folgende Beispiel für eine IAM-Richtlinie gewährt Ihrem Zustandsmaschine die geringste erforderliche Berechtigung für redriving eine Hinrichtung. Denken Sie daran, den italicized
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 Erlaubnis, die Sie benötigen redrive ein Map Run, sieheBeispiel für eine IAM-Richtlinie für redriving eine verteilte Karte.
Redriving Ausführungen in der Konsole
Du kannst redrive zulässige Hinrichtungen aus der Step Functions console.
Stellen Sie sich zum Beispiel vor, dass Sie eine Zustandsmaschine ausführen und ein parallel Zustand nicht ausgeführt werden kann.
Das folgende Bild zeigt eine Lambda Der Aufruf-Schritt mit dem Namen Do square number in einem parallelen Zustand wurde zurückgegeben und ist fehlgeschlagen. Dies führte dazu, dass auch der Status Parallel fehlschlug. Die Zweige, deren Ausführung im Gange war oder nicht gestartet wurde, werden gestoppt und die Ausführung der Zustandsmaschine schlägt fehl.

Bis redrive eine Ausführung von der Konsole aus
-
Öffnen Sie die Step Functions Functions-Konsole
und wählen Sie dann eine vorhandene Zustandsmaschine aus, deren Ausführung fehlgeschlagen ist. -
Wählen Sie auf der Detailseite der Zustandsmaschine unter Ausführungen eine Instanz mit fehlgeschlagener Ausführung aus.
-
Wählen Sie aus.Redrive.
-
In der RedriveWählen Sie in einem Dialogfeld Redrive Ausführung.
Tipp
Wenn Sie sich auf der Seite mit den Ausführungsdetails einer fehlgeschlagenen Ausführung befinden, gehen Sie wie folgt vor redrive die Ausführung:
-
Wählen Sie Wiederherstellen und wählen Sie dann Redrive aufgrund eines Fehlers.
-
Wählen Sie Aktionen und dann Redrive.
Beachten Sie, dass redrive verwendet dieselbe Zustandsmaschinen-Definition und denselben ARN. Es setzt die Ausführung ab dem Schritt fort, der beim ursprünglichen Ausführungsversuch fehlgeschlagen ist. In diesem Beispiel handelt es sich um die Verzweigungen „Rechteckzahl ausführen“ und „Drei Sekunden warten“ innerhalb des Parallel-Status. Nach dem Neustart der Ausführung dieser erfolglosen Schritte im Status Parallel redrive setzt die Ausführung für den Schritt „Fertig“ fort.
-
-
Wählen Sie die Ausführung, um die Seite mit den Ausführungsdetails zu öffnen.
Auf dieser Seite können Sie die Ergebnisse der redriven Ausführung. In dem Zusammenfassung der Ausführung Abschnitt können Sie beispielsweise sehen Redrive Anzahl, die angibt, wie oft eine Ausführung stattgefunden hat redriven. Im Bereich Ereignisse können Sie die redrive verwandte Ausführungsereignisse, die an die Ereignisse des ursprünglichen Ausführungsversuchs angehängt wurden. Zum Beispiel das
ExecutionRedriven
Ereignis.
Redriving Ausführungen mithilfe der API
Sie können redrive zulässige Ausführungen mithilfe der RedriveExecutionAPI. Diese API startet erfolglose Ausführungen von Standard-Workflows ab dem Schritt neu, der fehlgeschlagen ist, abgebrochen wurde oder dessen Timeout abgelaufen ist.
Führen Sie in AWS Command Line Interface (AWS CLI) den folgenden Befehl aus redrive eine erfolglose State-Machine-Ausführung. Denken Sie daran, den italicized
Text durch Ihre ressourcenspezifischen Informationen zu ersetzen.
aws stepfunctions redrive-execution --execution-arn arn:aws:states:us-east-2:
123456789012
:execution:myStateMachine
:foo
Untersuchen redriven Hinrichtungen
Sie können eine untersuchen redriven Ausführung in der Konsole oder mit APIs: GetExecutionHistoryund DescribeExecution.
Untersuchen redriven Ausführungen auf der Konsole
-
Öffnen Sie die Step Functions Functions-Konsole
und wählen Sie dann eine vorhandene Zustandsmaschine aus, für die Sie redriven eine Hinrichtung. -
Öffnen Sie die Seite mit den Ausführungsdetails.
Auf dieser Seite können Sie die Ergebnisse der redriven Ausführung. In dem Zusammenfassung der Ausführung Abschnitt können Sie beispielsweise sehen Redrive Anzahl, die angibt, wie oft eine Ausführung stattgefunden hat redriven. Im Bereich Ereignisse können Sie die redrive verwandte Ausführungsereignisse, die an die Ereignisse des ursprünglichen Ausführungsversuchs angehängt wurden. Zum Beispiel das
ExecutionRedriven
Ereignis.
Untersuchen redriven Hinrichtungen mit APIs
Wenn du redriven eine State-Machine-Ausführung, Sie können eine der folgenden Optionen verwenden APIs , um Details zu der redriven Ausführung. Denken Sie daran, den italicized
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 über redrive Versuch einer Ausführung, falls verfügbar.
Führen Sie im AWS CLI den folgenden Befehl aus.
aws stepfunctions get-execution-history --execution-arn arn:aws:states:us-east-2:
123456789012
:execution:myStateMachine
:foo
-
DescribeExecution — Stellt Informationen zur Ausführung einer Zustandsmaschine bereit. Dabei kann es sich um die Zustandsmaschine handeln, die mit der Ausführung verknüpft ist, um die Eingabe und Ausgabe der Ausführung, um die Ausführung redrive Details, falls verfügbar, und relevante Ausführungsmetadaten.
Führen Sie in den AWS CLI den folgenden Befehl aus.
aws stepfunctions describe-execution --execution-arn arn:aws:states:us-east-2:
123456789012
:execution:myStateMachine
:foo
Versuchen Sie es erneut mit dem Verhalten von redriven Hinrichtungen
Wenn Ihre redriven Bei der Ausführung wird ein Workflow-Status der Aufgabe Status des parallelen Workflows ,- oder Inline-Map-Status erneut ausgeführt, für den Sie Wiederholungsversuche definiert haben. Die Anzahl der Wiederholungsversuche für diese Zustände wird auf 0 zurückgesetzt, um die maximale Anzahl von Versuchen zu ermöglichen redrive. Für ein redriven Bei der Ausführung können Sie einzelne Wiederholungsversuche dieser Zustände mithilfe der Konsole verfolgen.
Um die einzelnen Wiederholungsversuche in der Konsole zu überprüfen
-
Wählen Sie auf der Seite mit den Ausführungsdetails der Step Functions Functions-Konsole
einen Status aus, der erneut versucht wurde redrive. -
Wählen Sie Wiederholungen & redrivesRegisterkarte.
-
Wählen Sie das Pfeilsymbol neben jedem Wiederholungsversuch, um die zugehörigen Details anzuzeigen. Wenn der Wiederholungsversuch erfolgreich war, können Sie die Ergebnisse unter Ausgabe anzeigen, das in einem Dropdown-Feld angezeigt wird.
Die folgende Abbildung zeigt ein Beispiel für die Wiederholungen, die für einen Status beim ursprünglichen Ausführungsversuch durchgeführt wurden, und für redrives dieser Ausführung. In diesem Bild werden drei Wiederholungen im Original durchgeführt und redrive Ausführungsversuche. Die Hinrichtung ist in der vierten erfolgreich redrive versucht es und gibt eine Ausgabe von 16 zurück.
