Zustandsmaschinenstruktur in Amazon States Language für Step Functions Functions-Workflows - 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.

Zustandsmaschinenstruktur in Amazon States Language für Step Functions Functions-Workflows

Zustandsmaschinen werden mithilfe von JSON Text definiert, der eine Struktur darstellt, die die folgenden Felder enthält.

Comment (Optional)

Eine für Menschen lesbare Beschreibung des Zustandsautomaten.

StartAt (Erforderlich)

Eine Zeichenfolge, die exakt (auch in Groß-/Kleinschreibung) mit dem Namen eines der Zustandsautomaten übereinstimmen muss.

TimeoutSeconds(Fakultativ)

Die maximale Anzahl von Sekunden, die ein Zustandsautomat ausgeführt werden kann. Wenn sie länger als die angegebene Zeit ausgeführt wird, schlägt die Ausführung mit einem States.Timeout--Fehlernamen fehl.

Version (Optional)

Die Version der Amazon States-Sprache, die in der Zustandsmaschine verwendet wird (Standard ist „1.0").

States (Erforderlich)

Ein Objekt, das eine durch Kommata getrennte Gruppe von Zuständen umfasst.

Das Feld States enthält Zustände.

{ "State1" : { }, "State2" : { }, ... }

Ein Zustandsautomat wird definiert durch die Zustände, die er umfasst, und die Beziehungen zwischen ihnen.

Im Folgenden wird ein Beispiel gezeigt.

{ "Comment": "A Hello World example of the Amazon States Language using a Pass state", "StartAt": "HelloWorld", "States": { "HelloWorld": { "Type": "Pass", "Result": "Hello World!", "End": true } } }

Wenn eine Ausführung dieses Zustandsautomaten gestartet wird, beginnt das System mit dem Zustand, auf den das Feld StartAt verweist ("HelloWorld"). Wenn dieser Zustand ein Feld "End": true hat, stoppt die Ausführung und ein Ergebnis wird zurückgegeben. Andernfalls sucht das System nach einem Feld "Next": und fährt mit diesem Zustand fort. Dieser Vorgang wird wiederholt, bis das System einen Beendigungszustand erreicht (einen Zustand mit "Type": "Succeed", "Type": "Fail" oder "End": true) oder ein Laufzeitfehler auftritt.

Die folgenden Regeln gelten für Zustände in einem Zustandsautomaten:

  • Zustände können in beliebiger Reihenfolge innerhalb des umschließenden Blocks auftreten. Die Reihenfolge, in der sie aufgelistet werden, wirkt sich jedoch nicht auf die Reihenfolge aus, in der sie ausgeführt werden. Die Reihenfolge wird durch die Inhalte der Zustände bestimmt.

  • Innerhalb eines Zustandsautomaten kann nur ein Zustand als start-Zustand bezeichnet werden, und zwar durch den Wert des Felds StartAt in der Top-Level-Struktur. Dieser Zustand ist derjenige, der als erster ausgeführt wird, wenn die Ausführung startet.

  • Jeder Zustand, für den das End-Feld true ist, gilt als ein end- (oder terminal-)Zustand. Abhängig von Ihrer Zustandsmaschinen-Logik — wenn Ihre Zustandsmaschine beispielsweise mehrere Ausführungszweige hat — haben Sie möglicherweise mehr als einen Status. end

  • Wenn Ihr Zustandsautomat nur aus einem Zustand besteht, kann das sowohl der start- als auch der end-Zustand sein.

Allgemeine Statusfelder in Workflows

Die folgenden Felder sind allen Zustandselementen gemeinsam.

Type (Erforderlich)

Der Zustandstyp.

Next

Der Name des nächsten Zustands, der ausgeführt wird, wenn der aktuelle Zustand beendet ist. Einige Zustandstypen, z. B. Choice, erlauben mehrere Übergangszustände.

Wenn der aktuelle Status der letzte Status in Ihrem Workflow oder ein Endstatus ist, z. B. Workflow-Status „Erfolgreich“ oderWorkflow-Status „Fehlgeschlagen“, müssen Sie das Next Feld nicht angeben.

End

Gibt an, ob dieser Zustand ein Beendigungszustand ist (er beendet die Ausführung), wenn auf true gesetzt. Es kann eine beliebige Anzahl von Beendigungszuständen pro Zustandsautomaten geben. Von Next oder End kann nur einer in einem Zustand verwendet werden. Einige ZustandstypenChoice, wie z. B. oder Endstatus, wie Workflow-Status „Erfolgreich“ undWorkflow-Status „Fehlgeschlagen“, unterstützen oder verwenden das End Feld nicht.

Comment (Optional)

Enthält eine für Menschen lesbare Beschreibung des Zustands.

InputPath (Optional)

Ein Pfad der einen Teil der Eingabe des Zustands auswählt, der an die Aufgabe des Zustands zur Verarbeitung übergeben werden soll. Wenn dieses Attribut nicht angegeben wird, hat es den Wert $, der die gesamte Eingabe bezeichnet. Weitere Informationen finden Sie unter Verarbeitung von Eingabe und Ausgabe.

OutputPath (Optional)

Ein Pfad, der einen Teil der Ausgabe des Status auswählt, der an den nächsten Status übergeben werden soll. Wenn es weggelassen wird, hat es den Wert$, der die gesamte Ausgabe bezeichnet. Weitere Informationen finden Sie unter Verarbeitung von Eingabe und Ausgabe.