Utilisation de chemins pour accéder aux entrées pour les flux de travail Step Functions - AWS Step Functions

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 JsonPathla syntaxe. Vous pouvez spécifier un chemin pour accéder à des sous-ensembles de l'entrée lors de la spécification des valeurs pour InputPath, 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 ABNFrègle. Par conséquent, pour coder des caractères spéciaux, tels que les signes de ponctuation (sauf_), 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 et Utilisation JSONPath efficace dans AWS Step Functions.

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 [*] du 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 :