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

Zustandsmaschinendaten werden durch JSON-Text dargestellt. Sie können Werte für eine State-Maschine bereitstellen, indem Sie jeden von JSON unterstützten Datentyp verwenden.

Anmerkung

Eingabe/Ausgabe von Zustandsautomaten

Sie können Ihre ersten Eingabedaten auf zwei Arten an eine AWS Step Functions Zustandsmaschine weitergeben. Sie können die Daten an eine StartExecution Aktion übergeben, wenn Sie eine Ausführung starten. Sie können die Daten auch von der Step Functions-Konsole aus an die State-Maschine übergeben. 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.

Bei Standard-Workflows können Sie Ausführungsergebnisse aus der Ausführungshistorie abrufen, indem Sie externe Aufrufer verwenden, z. B. die DescribeExecution Aktion. Sie können die Ausführungsergebnisse auf der Step Functions-Konsole einsehen.

Wenn Sie für Express-Workflows die Protokollierung aktiviert haben, können Sie Ergebnisse aus CloudWatch Protokollen abrufen oder die Ausführungen in der Step Functions-Konsole anzeigen und debuggen. Weitere Informationen erhalten Sie unter Protokollierung mitCloudWatchProtokolle und Anzeigen und Debuggen von Ausführungen in der Step Functions-Konsole.

Sie sollten auch Kontingente berücksichtigen, die sich auf Ihre Staatsmaschine beziehen. Weitere Informationen finden Sie unter Kontingente

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] }

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

    Die Lambda-Funktion gibt das Ergebnis der Berechnung an den Status 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 Eingabe- und Ausgabeverarbeitung in Step Functions.