Chemins - 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.

Chemins

Dans l'Amazon States Language, un chemin est une chaîne commençant par $ laquelle vous pouvez identifier les composants dans le texte JSON. 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, consultez Traitement des entrées et des sorties dans Step Functions.

Note

Vous pouvez également spécifier un nœud JSON de l'entrée ou de l'objet de contexte à l'aide de chemins d'accès dans le champ Parameters d'une définition d’état. veuillez consulter Transmettre des paramètres à une API de service.

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 règle JsonPath ABNF. 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'elle ne peut identifier qu'un seul nœud dans une structure JSON :

  • 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 structure JSON 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, consultez 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 efficace de JSONPath dans. AWS Step Functions

Aplatir un tableau de tableaux

Si l'Mapétat 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 syntaxe JMESpath [*] dans le 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 :