Zustandsautomatendaten - 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.

Zustandsautomatendaten

Zustandsautomatendaten nehmen die folgenden Formen an:

  • Die erste Eingabe in einen Zustandsautomaten

  • Daten, die zwischen Zuständen übergeben werden

  • Die Ausgabe eines Zustandsautomaten

In diesem Abschnitt wird beschrieben, wie Zustandsautomatendaten in AWS Step Functions formatiert und verwendet werden.

Datenformat

Da Zustandsautomatendaten durch JSON-Text repräsentiert werden, können Sie Werte mit jedem beliebigen Datentyp eingeben, der von JSON unterstützt wird.

Anmerkung
  • Zahlen im JSON-Textformat sind mit JavaScript Semantik. Diese Zahlen entsprechen in der Regel IEEE-854 Werten mit doppelter Genauigkeit.

  • Folgendes ist gültiger JSON-Text: eigenständige, durch Anführungszeichen getrennte Zeichenfolgen; Objekte; Arrays; Zahlen; Boolesche Werte und null.

  • Die Ausgabe eines Zustands wird die Eingabe in den nächsten Zustand. Sie können jedoch Zustände auf die Arbeit mit einer Teilmenge der Eingabedaten einschränken, indem Sie die Eingabe- und Ausgabeverarbeitungverwenden.

Eingabe/Ausgabe von Zustandsautomaten

Du kannst gebenAWS Step Functionsanfängliche Eingabedaten, indem sie an eineStartExecutionwenn Sie eine Ausführung starten, oder indem Sie die ersten Daten mithilfe derStep Functionsaus. Anfängliche Daten werden an den StartAt-Zustand des Zustandsautomaten übergeben. Wenn keine Eingabe getätigt wird, ist das Objekt standardmäßig leer ({}).

Die Ausgabe der Ausführung wird vom letzten Zustand zurückgegeben (terminal). Diese Ausgabe erscheint als JSON-Text im Ergebnis der Ausführung.

Für Standard-Workflows können Sie die Ausführungsergebnisse mithilfe von externen Aufrufern aus dem Ausführungsverlauf abrufen (z. B. in der Aktion DescribeExecution). Sie können die Ausführungsergebnisse auf derStep Functionsaus.

Wenn Sie für Express-Workflows Protokollierung aktiviert haben, können Sie die Ergebnisse von abrufen. CloudWatch protokolle. Weitere Informationen finden Sie unter Protokollierung mit CloudWatch Logs (Protokolle).

Sie sollten auch Kontingente in Bezug auf Ihre Zustandsmaschine in Betracht ziehen. Weitere Informationen finden Sie unter:

Eingabe/Ausgabe von Zuständen

Die Eingabe jedes Zustands besteht aus JSON-Text aus dem vorherigen Zustand oder, im Falle des Zustands StartAt, der Eingabe in die Ausführung. Bestimmte Flusssteuerungs-Zustände geben ihre Eingabe als Echo an ihre Ausgabe weiter.

Im folgenden Beispiel fügt der Zustandsautomat zwei Zahlen zusammen.

  1. Definieren Sie die AWS Lambda-Funktion.

    function Add(input) { var numbers = JSON.parse(input).numbers; var total = numbers.reduce( function(previousValue, currentValue, index, array) { return previousValue + currentValue; }); return JSON.stringify({ result: total }); }
  2. Definieren Sie den -Zustandsautomaten.

    { "Comment": "An example that adds two numbers together.", "StartAt": "Add", "Version": "1.0", "TimeoutSeconds": 10, "States": { "Add": { "Type": "Task", "Resource": "arn:aws:lambda:us-east-1:123456789012:function:Add", "End": true } } }
  3. Starten Sie eine Ausführung mit dem folgenden JSON-Text.

    { "numbers": [3, 4] }

    DieAddZustand empfängt den JSON-Text und übergibt ihn an die Lambda-Funktion.

    Die Lambda-Funktion gibt das Ergebnis der Berechnung an den Zustand zurück.

    Der Zustand gibt den folgenden Wert in die Ausgabe.

    { "result": 7 }

    Da Add auch der letzte Zustand in dem Zustandsautomaten ist, wird dieser Wert als Ausgabe des Zustandsautomaten zurückgegeben.

    Wenn der letzte Zustand keine Ausgabe zurückgibt, gibt der Zustandsautomat ein leeres Objekt zurück ({}).

Weitere Informationen finden Sie unter Verarbeitung von Eingabe und Ausgabe in Step Functions.