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.
Verwenden des Datenflusssimulators zum Testen des Datenflusses in Step Functions
Sie können Workflows in der Step Functions Functions-Konsole
InputPath
-
Wählt WHATeinen Teil der gesamten Eingabe-Payload aus, der als Eingabe für eine Aufgabe verwendet werden soll. Wenn Sie dieses Feld angeben, wendet Step Functions dieses Feld zuerst an.
Parameter
-
Gibt an, wie HOWdie Eingabe aussehen soll, bevor die Aufgabe aufgerufen wird. Mit dem
Parameters
Feld können Sie eine Sammlung von Schlüssel-Wert-Paaren erstellen, die als Eingabe an eine übergeben werden AWS-Service Integration, wie z. B. ein AWS Lambda Funktion. Diese Werte können statisch sein oder dynamisch entweder aus der Statuseingabe oder dem Workflow-Kontextobjekt ausgewählt werden. ResultSelector
-
Legt fest WHAT, ob aus der Ausgabe einer Aufgabe ausgewählt werden soll. Mit dem
ResultSelector
Feld können Sie eine Sammlung von Schlüssel-Wert-Paaren erstellen, die das Ergebnis eines Bundesstaates ersetzen, und diese Sammlung an diese Sammlung übergeben.ResultPath
Zustandsausgabe mithilfe von Workflows ResultPath in Step Functions angeben
-
Legt fest WHERE, ob die Ausgabe einer Aufgabe erstellt werden soll. Verwenden Sie die
ResultPath
, um zu ermitteln, ob es sich bei der Ausgabe eines Status um eine Kopie seiner Eingabe, des von ihm erzeugten Ergebnisses oder um eine Kombination aus beidem handelt. Filtern der Statusausgabe mithilfe von Workflows OutputPath in Step Functions
-
Legt fest WHAT, dass an den nächsten Status gesendet werden soll. Mit
OutputPath
können Sie unerwünschte Informationen herausfiltern und nur den Teil der JSON Daten weitergeben, der Ihnen wichtig ist.
Verwenden Sie den Datenflusssimulator
Der Simulator ermöglicht einen side-by-side Echtzeitvergleich Ihrer Daten vor und nach dem Anwenden eines Eingabe- und Ausgabedatenverarbeitungsfeldes. Um den Simulator zu verwenden, geben Sie eine JSON Eingabe an. Evaluieren Sie ihn dann anhand der einzelnen Eingabe- und Ausgabeverarbeitungsfelder. Der Simulator validiert Ihre JSON Eingabe automatisch und hebt alle Syntaxfehler hervor.
Um den Datenflusssimulator zu verwenden
In den folgenden Schritten geben Sie JSON Eingaben ein und wenden die Parameter
Felder InputPath
und an. Sie können auch die anderen verfügbaren Felder anwenden und deren Ausgaben anzeigen.
-
Öffnen Sie die Step Functions Functions-Konsole
. -
Wählen Sie im Navigationsbereich Datenflusssimulator aus.
-
Ersetzen Sie im Eingabebereich Bundesland die vorab ausgefüllten JSON Beispieldaten durch die folgenden JSON Daten. Wählen Sie anschließend Weiter.
{ "data": { "firstname": "Jane", "lastname": "Doe", "identity": { "email": "jdoe@example.com", "ssn": "123-45-6789" }, "address": { "street": "123 Main St", "city": "Columbus", "state": "OH", "zip": "43219" } } }
-
Geben Sie für die Eingabe ein InputPath,
$.data.address
um den Adressknoten der JSON Eingabedaten auszuwählen.Im InputPath Feld Eingabe nach Bundesstaat werden die folgenden Ergebnisse angezeigt.
{ "street": "123 Main St", "city": "Columbus", "state": "OH", "zip": "43219" }
-
Wählen Sie Weiter.
-
Wenden Sie das
Parameters
Feld an, um die resultierenden JSON Daten in eine Zeichenfolge zu konvertieren. Gehen Sie wie folgt vor, um die Daten zu konvertieren:-
Geben Sie im Feld Parameter den folgenden Code ein, um eine Zeichenfolge mit dem Namen zu erstellen
addressString
.{ "addressString.$": "States.Format('{}. {}, {} - {}', $.street, $.city, $.state, $.zip)" }
-
-
Das Ergebnis der
Parameters
Feldanwendung wird im Feld Gefilterte Eingabe nach Parametern angezeigt.
Überlegungen zur Verwendung des Datenflusssimulators
Bevor Sie den Datenflusssimulator verwenden, sollten Sie seine Einschränkungen berücksichtigen, einschließlich, aber nicht beschränkt auf:
-
Filterausdrücke werden nicht unterstützt
Filterausdrücke im Simulator verhalten sich anders als im Step Functions Functions-Dienst. Dazu gehören Ausdrücke, die die folgende Syntax verwenden:
[?(expression)]
. Im Folgenden finden Sie eine Liste nicht unterstützter Ausdrücke. Wenn diese Ausdrücke verwendet werden, geben sie nach ihrer Auswertung möglicherweise nicht das erwartete Ergebnis zurück.-
$..book[?(@.isInStock==true)]
-
$..book[?(@.price > 10.0)].title
-
-
Falsche JsonPath Auswertung für Arrays mit einzelnen Elementen
Wenn Sie Ihre Daten mit einem JsonPath Ausdruck filtern, der ein einzelnes Array-Element zurückgeben würde, gibt der Simulator das Element ohne das Array zurück. Stellen Sie sich zum Beispiel das folgende Datenarray vor, das heißt
items
:{ "items": [ { "name": "shoe", "color": "blue", "comment": "nice shoe" }, { "name": "hat", "color": "red" }, { "name": "shirt", "color": "yellow" } ] }
Wenn Sie dieses
items
Array$..comment
in das InputPath Feld eingeben, würden Sie die folgende Ausgabe erwarten:[ "nice shoe" ]
Der Datenflusssimulator gibt jedoch stattdessen die folgende Ausgabe zurück:
"nice shoe"
Bei der JsonPath Auswertung eines Arrays, das mehrere Elemente enthält, gibt der Simulator die erwartete Ausgabe zurück.