JSONPath Pfade verwenden - 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.

JSONPath Pfade verwenden

Status verwalten und Daten transformieren

In der Sprache Amazon States ist ein Pfad eine Zeichenfolge$, mit der Sie Komponenten innerhalb von JSON-Text identifizieren können. Pfade folgen der JsonPathSyntax, die nur verfügbar ist, wenn der auf gesetzt QueryLanguage ist JSONPath. 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.

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 ABNF-Regel 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 auf eine Weise begrenzt ist, dass er nur einen einzelnen Knoten in einer JSON-Struktur identifizieren kann:

  • 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 symbolischer Natur sind, z. B. werden nicht unterstützt. subsetof

  • 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 JSONPath Effektive 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 Syntax: [*] in dem 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: