View a markdown version of this page

Eingabe und Ausgabe in Step Functions verarbeiten - 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.

Eingabe und Ausgabe in Step Functions verarbeiten

Status mit Variablen und JSONata verwalten

Step Functions hat kürzlich Variablen und JSONata hinzugefügt, um Status- und Transformationsdaten zu verwalten.

Weitere Informationen finden Sie im Blogbeitrag Vereinfachung der Entwicklererfahrung mit Variablen und JSonata in AWS Step Functions

Wenn eine Step Functions Functions-Ausführung JSON-Eingaben empfängt, übergibt sie diese Daten als Eingabe an den ersten Status im Workflow.

Mit JSONata können Sie Statuseingaben von abrufen. $states.input Ihre State-Machine-Ausführungen stellen auch diese anfänglichen Eingabedaten in der bereit. Context-Objekt Sie können die ursprüngliche Zustandsmaschine-Eingabe zu jedem Zeitpunkt in Ihrem Workflow von $states.context.Execution.Input abrufen.

Wenn Staaten beendet werden, steht ihre Ausgabe für den nächsten Status in Ihrer Zustandsmaschine zur Verfügung. Ihre Statuseingaben werden standardmäßig als Statusausgabe übergeben, sofern Sie die Statusausgabe nicht ändern. Für Daten, die Sie möglicherweise in späteren Schritten benötigen, sollten Sie erwägen, sie in Variablen zu speichern. Weitere Informationen finden Sie unter Übergeben von Daten zwischen Staaten mit Variablen.

QueryLanguage Empfehlung

Für neue Zustandsmaschinen empfehlen wir die JSONata-Abfragesprache. In Zustandsmaschinen, die keine Abfragesprache angeben, verwendet die Zustandsmaschine aus Gründen der Abwärtskompatibilität standardmäßig JSONPath. Sie müssen sich anmelden, um JSONata für Ihre Zustandsmaschinen oder einzelne Staaten zu verwenden.

Verarbeitung von Eingabe und Ausgabe mit JSonata

Mit JSonata-Ausdrücken können Sie Daten auswählen und transformieren. In Arguments diesem Feld können Sie die an die Aktion gesendeten Daten anpassen. Das Ergebnis kann in eine benutzerdefinierte Statusausgabe im Output Feld umgewandelt werden. Sie können Daten auch in Variablen im Assign Feld speichern. Weitere Informationen finden Sie unter Transformieren von Daten mit JSONata.

Das folgende Diagramm zeigt, wie sich JSONATA-Informationen durch einen JSONata-Aufgabenstatus bewegen.

Flussdiagramm, das zeigt, wie die Statuseingabe die Argumente im Aufgabenstatus JSONata an Aktion und dann an die Statusausgabe oder Variablen weiterleitet.

Verarbeitung von Eingabe und Ausgabe mit JSONPath

Status verwalten und Daten transformieren

Bei Zustandsmaschinen, die JSONPath verwenden, steuern die folgenden Felder den Datenfluss von Bundesstaat zu Bundesstaat:InputPath,,Parameters, ResultSelector und. ResultPath OutputPath Jedes JSONPath-Feld kann JSON manipulieren, während es jeden Status in Ihrem Workflow durchläuft.

JsonPath-Felder können Pfade verwenden, um Teile des JSON aus der Eingabe oder dem Ergebnis auszuwählen. Ein Pfad ist eine Zeichenfolge, die mit$, beginnt und Knoten innerhalb von JSON-Text identifiziert. Step Functions Functions-Pfade verwenden JsonPathSyntax.

Das folgende Diagramm zeigt, wie sich JSON-Informationen durch einen JSONPath-Aufgabenstatus bewegen. Das InputPath wählt die Teile der JSON-Eingabe aus, die an die Aufgabe des Task Zustands übergeben werden sollen (z. B. eine AWS Lambda Funktion). Sie können die Daten, die an Ihre Aktion gesendet werden, im Parameters Feld anpassen. Anschließend können Sie mit ResultSelector Teile des Aktionsergebnisses auswählen, die übertragen werden sollen. ResultPathwählt dann die Kombination aus Statuseingabe und Aufgabenergebnissen aus, die an die Ausgabe übergeben werden sollen. OutputPathkann die JSON-Ausgabe filtern, um die Informationen, die an die Ausgabe übergeben werden, weiter einzuschränken.

Reihenfolge der Filter: InputPath, Parameter ResultSelector, ResultPath, und OutputPath.