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 FeldsStartAt
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
-Feldtrue
ist, gilt als einend
- (oderterminal
-)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 derend
-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. VonNext
oderEnd
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 dasEnd
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.