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.
Neustarten von State-Machine-Ausführungen mit redrive In-Step-Funktionen
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, setzt die fehlgeschlagene Ausführung aus dem erfolglosen Schritt 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 AusführungARN, 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 fehlgeschlagen ist redrive Das Verhalten für alle erfolglosen Staaten ist unterschiedlich. In der folgenden Tabelle werden die redrive Verhalten für alle Staaten.
Name des Bundesstaates | Redrive Ausführungsverhalten |
---|---|
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 der verteilten 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 |
IAMErlaubnis zu redrive eine Hinrichtung
Step Functions benötigt die entsprechende Genehmigung für redrive eine Hinrichtung. Das folgende IAM Richtlinienbeispiel gewährt Ihrem Zustandsmaschine die geringste erforderliche Berechtigung für redriving eine Hinrichtung. Denken Sie daran, das zu ersetzen italicized
Text mit Ihren ressourcenspezifischen Informationen.
{ "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 von 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 Beim Aufrufen eines Schritts mit dem Namen „Quadrate machen“ in einem parallelen Zustand wurde ein Fehler zurückgegeben. 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 undARN. 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 Hinrichtungen mit API
Sie können redrive zulässige Hinrichtungen mit dem RedriveExecutionAPI. Dadurch werden erfolglose Ausführungen von Standard-Workflows von dem Schritt aus API neu gestartet, der fehlgeschlagen, abgebrochen wurde oder das Zeitlimit überschritten wurde.
Führen Sie in AWS Command Line Interface (AWS CLI) den folgenden Befehl aus, um redrive eine erfolglose State-Machine-Ausführung. Denken Sie daran, das zu ersetzen italicized
Text mit Ihren ressourcenspezifischen Informationen.
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 mitAPIs: 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 verwendenAPIs, um Details zu der redriven Ausführung. Denken Sie daran, das zu ersetzen italicized
Text mit Ihren ressourcenspezifischen Informationen.
-
GetExecutionHistory — Gibt den Verlauf der angegebenen Ausführung als Liste von Ereignissen zurück. Dies gibt API auch die Details über redrive Versuch einer Ausführung, falls verfügbar.
Führen Sie in den 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. Dies kann die Zustandsmaschine sein, die der Ausführung zugeordnet ist, die Ausführung, Eingabe und Ausgabe, 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 Die Ausführung wiederholt einen Workflow-Status der AufgabeStatus des parallelen Workflows, oder Inline-Map-Status, für den Sie Wiederholungen definiert haben. Die Anzahl der Wiederholungsversuche für diese Zustände wird auf 0 zurückgesetzt, um die maximale Anzahl von Versuchen für 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 „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.