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

Datenflusssimulator

In der Step Functions-Konsole können Sie Workflows entwerfen, implementieren und debuggen. Sie können den Datenfluss in Ihren Workflows auch durch die Verarbeitung von JsonPathEingabe- und Ausgabedaten steuern. Mit dem Datenflusssimulator können Sie die Reihenfolge simulieren, in der die Aufgabe Staaten in Ihrem Workflow Daten zur Laufzeit verarbeiten. Mithilfe des Simulators können Sie verstehen, wie Daten gefiltert und bearbeitet werden, während sie von einem Zustand in einen anderen fließen. Es simuliert jedes der folgenden Felder, die Step Functions verwendet, um den Fluss von JSON-Daten zu verarbeiten und zu steuern:

InputPath

Wählt aus, WELCHER Teil der gesamten Eingabe-Payload 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 die 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 AWS-ServiceIntegration, z. B. eine AWS Lambda Funktion, übergeben werden. Diese Werte können statisch sein oder dynamisch aus der Statuseingabe oder dem Workflow-Kontextobjekt ausgewählt werden.

ResultSelector

Legt fest, WAS 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 Zustands ersetzen, und diese Sammlung an diese übergeben. ResultPath

ResultPath

Legt fest, WO die Ausgabe einer Aufgabe abgelegt werden soll. Verwenden Sie denResultPath, um festzustellen, ob die Ausgabe eines Zustands eine Kopie seiner Eingabe, des Ergebnisses, das er erzeugt, oder eine Kombination aus beidem ist.

OutputPath

Legt fest, WAS 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 des Datenflusssimulators

Der Simulator bietet 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. Bewerten Sie es dann anhand der einzelnen Eingabe- und Ausgabeverarbeitungsfelder. Der Simulator validiert automatisch Ihre JSON-Eingabe 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 sich deren Ausgaben ansehen.

  1. Öffnen Sie die Step Functions-Konsole.

  2. Wählen Sie im Navigationsbereich Datenflusssimulator aus.

  3. Ersetzen Sie im Eingabebereich Bundesstaat die vorab ausgefüllten JSON-Beispieldaten durch die folgenden JSON-Daten. Wählen Sie anschließend Weiter aus.

    { "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" } } }
  4. Geben Sie ein InputPath, $.data.address um den Adressknoten der JSON-Eingabedaten auszuwählen.

    Das InputPath Feld „State input after“ zeigt die folgenden Ergebnisse an.

    { "street": "123 Main St", "city": "Columbus", "state": "OH", "zip": "43219" }
  5. Wählen Sie Weiter aus.

  6. 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:

    1. Geben Sie im Feld Parameter den folgenden Code ein, um eine Zeichenfolge mit dem Namen zu erstellenaddressString.

      { "addressString.$": "States.Format('{}. {}, {} - {}', $.street, $.city, $.state, $.zip)" }
  7. Sehen Sie sich das Ergebnis der Parameters Feldanwendung im Feld Gefilterte Eingabe nach Parametern an.

Überlegungen zur Verwendung des Datenflusssimulators

Bevor Sie den Datenflusssimulator verwenden, sollten Sie dessen Einschränkungen berücksichtigen, einschließlich, aber nicht beschränkt auf:

  • Nicht unterstützte Filterausdrücke

    Filterausdrücke im Simulator verhalten sich anders als im Step Functions-Dienst. Dazu gehören Ausdrücke, die die folgende Syntax verwenden:[?(expression)]. Im Folgenden finden Sie eine Liste von Ausdrücken, die nicht unterstützt werden. Wenn diese Ausdrücke verwendet werden, liefern sie nach ihrer Auswertung möglicherweise nicht das erwartete Ergebnis.

    • $..book[?(@.isInStock==true)]

    • $..book[?(@.price > 10.0)].title

  • Falsche JsonPath Bewertung für Arrays mit einem einzelnen Artikel

    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 mit dem Namen voritems:

    { "items": [ { "name": "shoe", "color": "blue", "comment": "nice shoe" }, { "name": "hat", "color": "red" }, { "name": "shirt", "color": "yellow" } ] }

    Wenn Sie bei diesem 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"

    Zur JsonPath Auswertung eines Arrays, das mehrere Elemente enthält, gibt der Simulator die erwartete Ausgabe zurück.