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
Erfahren Sie mehr über das Übergeben von Daten zwischen Zuständen mithilfe von Variablen und das Transformieren von Daten mit JSONata.
In der Sprache Amazon States ist ein Pfad eine Zeichenfolge$
, mit der Sie Komponenten innerhalb von JSON-Text identifizieren können. Pfade folgen der JsonPathQueryLanguage
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_
) 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
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: