Les traductions sont fournies par des outils de traduction automatique. En cas de conflit entre le contenu d'une traduction et celui de la version originale en anglais, la version anglaise prévaudra.
Utilisation de chemins pour accéder aux entrées pour les flux de travail Step Functions
Dans l'Amazon States Language, un chemin est une chaîne commençant par $
laquelle vous pouvez identifier les composants JSON du texte. Les chemins suivent JsonPathInputPath
, ResultPath
et OutputPath
. Pour plus d'informations, voir Traitement des entrées et des sorties dans Step Functions.
Note
Vous pouvez également spécifier un JSON nœud de l'entrée ou de l'objet de contexte en utilisant des chemins dans le Parameters
champ d'une définition d'état. Consultez Transmission de paramètres à un service API dans Step Functions.
Vous devez utiliser la notation entre crochets si le nom de votre champ contient un caractère qui n'est pas inclus dans la member-name-shorthand
définition de la JsonPath ABNF_
), vous devez utiliser la notation entre crochets. Par exemple, $.abc.['def ghi']
.
Chemins de référence
Un chemin de référence est un chemin dont la syntaxe est limitée de telle sorte qu'il ne peut identifier qu'un seul nœud dans une JSON structure :
-
Vous pouvez accéder aux champs des objets uniquement en utilisant la notation point (
.
) et crochet ([ ]
). -
Les fonctions telles que
length()
ne sont pas prises en charge. -
Les opérateurs lexicaux, qui ne sont pas symboliques, par exemple,
subsetof
ne sont pas pris en charge. -
Le filtrage par expression régulière ou par référence à une autre valeur dans la JSON structure n'est pas pris en charge.
-
Les opérateurs
@
,,
:
, et ne?
sont pas pris en charge
Par exemple, les données d'entrée d'état contiennent les valeurs suivantes :
{
"foo": 123,
"bar": ["a", "b", "c"],
"car": {
"cdr": true
}
}
Dans ce cas, les chemins de référence suivants renverraient :
$.foo => 123
$.bar => ["a", "b", "c"]
$.car.cdr => true
Certains états utilisent des chemins d'accès et des chemins de référence pour contrôler le flux d'une machine d'état ou configurer les paramètres ou les options d'un état. Pour plus d'informations, voir Modélisation du traitement des chemins d'entrée et de sortie du flux de travail avec un simulateur de flux de données
Aplatir un tableau de tableaux
Si l'État du flux de travail cartographiqueétat État du flux de travail parallèle ou de vos machines d'état renvoie un tableau de tableaux, vous pouvez les transformer en tableau plat avec le ResultSelector champ. Vous pouvez inclure ce champ dans la définition de l'état parallèle ou de l'état cartographique pour manipuler le résultat de ces états.
Pour aplatir les tableaux, utilisez la JMESPathsyntaxe [*]
ResultSelector
champ, comme indiqué dans l'exemple suivant.
"ResultSelector": { "flattenArray.$": "$[*][*]" }
Pour des exemples illustrant comment aplatir un tableau, reportez-vous à l'étape 3 des didacticiels suivants :