Verwenden von Pfaden für den Zugriff auf Eingaben für Step Functions Functions-Workflows - 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.

Verwenden von Pfaden für den Zugriff auf Eingaben für Step Functions Functions-Workflows

In der Sprache Amazon States ist ein Pfad eine Zeichenfolge, $ die mit 1 beginnt und mit der Sie Komponenten innerhalb von JSON Text identifizieren können. Pfade folgen der JsonPathSyntax. Sie können einen Pfad für den Zugriff auf Teilsätze der Eingaben beim Festlegen von Werten für InputPath, ResultPath, und OutputPath angeben. Weitere Informationen finden Sie unter Eingabe und Ausgabe in Step Functions verarbeiten.

Anmerkung

Sie können auch einen JSON Knoten des Eingabe- oder Kontextobjekts angeben, indem Sie Pfade innerhalb des Parameters Feldes einer Statusdefinition verwenden. Siehe Übergeben von Parametern an einen Dienst API in Step Functions.

Sie müssen die Notation mit eckigen Klammern verwenden, wenn Ihr Feldname ein Zeichen enthält, das nicht in der member-name-shorthand Definition der JsonPath ABNFRegel enthalten ist. Um Sonderzeichen wie Satzzeichen (ausgenommen_) zu kodieren, müssen Sie daher die Notation mit eckigen Klammern verwenden. Beispiel, $.abc.['def ghi'].

Referenzpfade

Ein Referenzpfad ist ein Pfad, dessen Syntax so eingeschränkt ist, dass er nur einen einzelnen Knoten in einer Struktur identifizieren kann: JSON

  • Sie können auf Objektfelder zugreifen, indem Sie nur Punkt (.)- und Klammer ([ ])-Notation verwenden.

  • Funktionen wie length() werden nicht unterstützt.

  • Lexikalische Operatoren, die nicht symbolisch sind, z. B. subsetof nicht unterstützt werden.

  • Das Filtern nach regulären Ausdrücken oder durch Verweisen auf einen anderen Wert in der JSON Struktur wird nicht unterstützt.

  • Die Operatoren @,,:, und ? werden nicht unterstützt

Zum Beispiel, wenn Zustandseingabedaten die folgenden Werte enthalten:

{ "foo": 123, "bar": ["a", "b", "c"], "car": { "cdr": true } }

In diesem Fall würden die folgenden Referenzpfade Folgendes zurückgeben:

$.foo => 123 $.bar => ["a", "b", "c"] $.car.cdr => true

Bestimmte Zustände verwenden Pfade und Referenzpfade, um den Ablauf eines Zustandsautomaten zu steuern oder um Einstellungen oder Optionen eines Zustands zu konfigurieren. Weitere Informationen finden Sie unter Modellieren der Eingabe- und Ausgabepfadverarbeitung von Workflows mit dem Datenflusssimulator und JSONPathEffektive Verwendung in AWS Step Functions.

Ein Array von Arrays reduzieren

Wenn der Workflow-Status zuordnen Status Status des parallelen Workflows oder in Ihren Zustandsmaschinen ein Array von Arrays zurückgibt, können Sie diese mit dem Feld in ein flaches Array umwandeln. ResultSelector Sie können dieses Feld in die Zustandsdefinition Parallel oder Map aufnehmen, um das Ergebnis dieser Zustände zu manipulieren.

Um Arrays zu reduzieren, verwenden Sie die JMESPathSyntax [*] im ResultSelector Feld, wie im folgenden Beispiel gezeigt.

"ResultSelector": { "flattenArray.$": "$[*][*]" }

Beispiele, die zeigen, wie ein Array geglättet wird, finden Sie in Schritt 3 der folgenden Tutorials: