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 Status der 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
Themen
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. |
Status der Aufgabe |
Plant und startet den Aufgabenstatus erneut. Wenn Sie redrive eine Ausführung ausführen, die einen Aufgabenstatus erneut ausführt, wird der |
Choice | Bewertet die Choice-Statusregeln neu. |
Wait |
Wenn der Status |
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 |
Inline-Zuweisungsstatus |
plant und redrives nur die Iterationen, die fehlgeschlagen oder abgebrochen wurden. Wenn der Status aufgrund eines |
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 |
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.
Angenommen, Sie führen diesen Zustandsautomaten aus. Die folgende Abbildung zeigt das Diagramm für die Ausführung des Zustandsautomaten.
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
-
Öffnen Sie die Step-Functions-Konsole
und wählen Sie dann einen vorhandenen Zustandsautomaten aus, dessen Ausführung fehlgeschlagen ist. -
Wählen Sie auf der Detailseite des Zustandsautomaten unter Ausführungen eine fehlgeschlagene Ausführungs-Instance aus.
-
Wählen Sie Redrive.
-
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.
-
-
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 -
ExecutionRedriven
Ereignis.
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
-
Öffnen Sie die Step-Functions-Konsole
und wählen Sie dann einen vorhandenen Zustandsautomaten aus, für den Sie redriven eine Ausführung haben. -
Ö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 -
ExecutionRedriven
Ereignis.
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 Status der 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
-
Wählen Sie auf der Seite Ausführungsdetails der Step-Functions-Konsole
einen Status aus, der auf erneut versucht wurderedrive. -
Wählen Sie die Registerkarte Wiederholungen und redrives aus.
-
Wählen Sie die 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.