Struktur des Zustandsautomaten - 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.

Struktur des Zustandsautomaten

Zustandsautomaten werden mit Hilfe von JSON-Text definiert, der eine Struktur repräsentiert, die folgende 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 (Optional)

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 im Zustandsautomaten verwendeten Sprache (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. Je nach der Logik Ihres Zustandsautomaten — zum Beispiel, wenn Ihr Zustandsautomat mehrere Ausführungszweigungen hat — haben Sie mehr als einenendZustand.

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