Sélectionner vos préférences de cookies

Nous utilisons des cookies essentiels et des outils similaires qui sont nécessaires au fonctionnement de notre site et à la fourniture de nos services. Nous utilisons des cookies de performance pour collecter des statistiques anonymes afin de comprendre comment les clients utilisent notre site et d’apporter des améliorations. Les cookies essentiels ne peuvent pas être désactivés, mais vous pouvez cliquer sur « Personnaliser » ou « Refuser » pour refuser les cookies de performance.

Si vous êtes d’accord, AWS et les tiers approuvés utiliseront également des cookies pour fournir des fonctionnalités utiles au site, mémoriser vos préférences et afficher du contenu pertinent, y compris des publicités pertinentes. Pour accepter ou refuser tous les cookies non essentiels, cliquez sur « Accepter » ou « Refuser ». Pour effectuer des choix plus détaillés, cliquez sur « Personnaliser ».

Spécification de la sortie d'état à l'aide ResultPath de in Step Functions

Mode de mise au point
Spécification de la sortie d'état à l'aide ResultPath de in 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.

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.

Gestion de l'état et transformation des données

Cette page fait référence à JSONPath. Step Functions a récemment ajouté des variables et JSONata permet de gérer l'état et de transformer les données.

Découvrez comment transmettre des données avec des variables et transformer des données avec JSONata.

La sortie d'un état peut être une copie de son entrée, le résultat qu'il génère (par exemple, la sortie d'une fonction Lambda pour l'état d'une Task) ou une combinaison de l'entrée et du résultat. Utilisez ResultPath pour contrôler les combinaisons de ces stratégies transmises à la sortie de l'état.

Les types d'état suivants peuvent générer un résultat et peuvent inclure ResultPath:

Utilisez ResultPath pour combiner un résultat de tâche avec une entrée de tâche ou pour sélectionner l'une de ces règles. Le chemin que vous fournissez à ResultPath détermine quelles informations sont transmises à la sortie.

Note

ResultPathest limité à l'utilisation de chemins de référence, qui limitent la portée, de sorte que le chemin ne doit identifier qu'un seul nœud en JSON. Voir Chemins de référence dans le document Langage des états d'Amazon.

ResultPath À utiliser pour remplacer l'entrée par le résultat de la tâche

Si vous ne spécifiez pas aResultPath, le comportement par défaut est le même que"ResultPath": "$". L'état remplacera l'intégralité de l'entrée d'état par le résultat de la tâche.

# State Input { "comment": "This is a test", "details": "Default example", "who" : "Step Functions" } # Path "ResultPath": "$" # Task result "Hello, Step Functions!" # State Output "Hello, Step Functions!"
Note

ResultPath est utilisé pour inclure du contenu issu du résultat avec les données d'entrée, avant de les transmettre à la sortie. Mais, si ResultPath ce n'est pas spécifié, l'action par défaut consiste à remplacer l'intégralité de l'entrée.

Ignorer le résultat et conserver l'entrée d'origine

Si vous réglez ResultPath surnull, l'état transmettra l'entrée d'origine à la sortie. La charge utile d'entrée de l'état sera copiée directement sur la sortie, sans tenir compte du résultat de la tâche.

# State Input { "comment": "This is a test", "details": "Default example", "who" : "Step Functions" } # Path "ResultPath": null # Task result "Hello, Step Functions!" # State Output { "comment": "This is a test", "details": "Default example", "who" : "Step Functions" }

ResultPath À utiliser pour inclure le résultat dans l'entrée

Si vous spécifiez un chemin pour ResultPath, la sortie d'état combinera l'entrée d'état et le résultat de la tâche :

# State Input { "comment": "This is a test", "details": "Default example", "who" : "Step Functions" } # Path "ResultPath": "$.taskresult" # Task result "Hello, Step Functions!" # State Output { "comment": "This is a test", "details": "Default example", "who" : "Step Functions", "taskresult" : "Hello, Step Functions!" }

Vous pouvez également insérer le résultat dans un nœud enfant de l'entrée. Définissez ResultPath comme suit.

"ResultPath": "$.strings.lambdaresult"

Compte tenu des informations suivantes :

{ "comment": "An input comment.", "strings": { "string1": "foo", "string2": "bar", "string3": "baz" }, "who": "AWS Step Functions" }

Le résultat de la tâche serait inséré en tant qu'enfant du strings nœud dans l'entrée.

{ "comment": "An input comment.", "strings": { "string1": "foo", "string2": "bar", "string3": "baz", "lambdaresult": "Hello, Step Functions!" }, "who": "AWS Step Functions" }

La sortie de l'état inclut désormais le JSON d'entrée d'origine avec le résultat sous forme d'un nœud enfant.

ResultPath À utiliser pour mettre à jour un nœud dans l'entrée avec le résultat

Si vous spécifiez un nœud existant pour ResultPath, le résultat de la tâche remplacera ce nœud existant :

# State Input { "comment": "This is a test", "details": "Default example", "who" : "Step Functions" } # Path "ResultPath": "$.comment" # Task result "Hello, Step Functions!" # State Output { "comment": "Hello, Step Functions!", "details": "Default example", "who" : "Step Functions" }

ResultPath À utiliser pour inclure à la fois une erreur et une entrée dans un Catch

Dans certains cas, il se peut que vous souhaitiez conserver l'entrée d'origine avec l'erreur. Utilisez ResultPath dans un champ Catch pour inclure l'erreur avec l'entrée d'origine, au lieu de la remplacer :

"Catch": [{ "ErrorEquals": ["States.ALL"], "Next": "NextTask", "ResultPath": "$.error" }]

Si l'instruction Catch précédente intercepte une erreur, elle inclut le résultat dans un nœud error avec l'entrée d'état. Par exemple, pour l'entrée suivante :

{"foo": "bar"}

La sortie de l'état lors de l'interception de l'erreur est :

{ "foo": "bar", "error": { "Error": "Error here" } }

Pour plus d'informations sur la gestion des erreurs, voir :

ConfidentialitéConditions d'utilisation du sitePréférences de cookies
© 2025, Amazon Web Services, Inc. ou ses affiliés. Tous droits réservés.