

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.

# Traitement des entrées et des sorties dans Step Functions
<a name="concepts-input-output-filtering"></a>

**Gestion de l'état avec des variables et JSonata**  
Step Functions a récemment ajouté des variables et JSonata pour gérer l'état et transformer les données.  
Pour en savoir plus, consultez le billet de blog [Simplifier l'expérience des développeurs grâce aux variables et à JSonata](https://aws.amazon.com/blogs/compute/simplifying-developer-experience-with-variables-and-jsonata-in-aws-step-functions/) dans AWS Step Functions

Lorsqu'une exécution de Step Functions reçoit une entrée JSON, elle transmet ces données au premier état du flux de travail en tant qu'entrée.

Avec JSonata, vous pouvez récupérer l'entrée d'état depuis. `$states.input` Les exécutions de vos machines à états fournissent également ces données d'entrée initiales dans le[Objet Contexte](input-output-contextobject.md). Vous pouvez récupérer l'entrée de la machine à états d'origine à tout moment de votre flux de travail à partir de`$states.context.Execution.Input`.

 Lorsque les états sortent, leur sortie est disponible pour l'*état* suivant dans votre machine à états. Vos entrées d'état seront transmises en tant que sortie d'état par défaut, sauf si vous **modifiez** l'état de sortie. Pour les données dont vous pourriez avoir besoin ultérieurement, pensez à les stocker dans des variables. Pour plus d’informations, consultez [Transmission de données entre états avec des variables](workflow-variables.md). 

**QueryLanguage recommandation**  
Pour les nouvelles machines à états, nous recommandons le langage de requête JSonata. Dans les machines d'état qui ne spécifient pas de langue de requête, la machine d'état utilise par défaut JSONPath pour des raisons de rétrocompatibilité. Vous devez choisir d'utiliser JSonata pour vos machines d'état ou vos états individuels.

**Traitement des entrées et des sorties avec JSonata**

Les expressions JSonata vous permettent de sélectionner et de transformer des données. Sur le `Arguments` terrain, vous pouvez personnaliser les données envoyées à l'action. Le résultat peut être transformé en sortie d'état personnalisée `Output` sur le terrain. Vous pouvez également stocker des données dans des variables `Assign` sur le terrain. Pour plus d'informations, consultez la section [Transformation de données avec JSonata](transforming-data.md).

Le schéma suivant montre comment les informations JSON passent par l'état d'une tâche JSonata.

![Schéma de flux montrant l'entrée d'état passant par les arguments de l'état de tâche JSonata à Action, puis à la sortie d'état ou aux variables.](https://docs.aws.amazon.com/fr_fr/step-functions/latest/dg/images/vars-jsonata.png)


**Traitement des entrées et des sorties avec JSONPath**

**Gestion de l'état et transformation des données**  
Découvrez comment [transmettre des données entre états avec des variables](workflow-variables.md) et [transformer des données avec JSonata](transforming-data.md).

Pour les machines à états qui utilisent JSONPath, les champs suivants contrôlent le flux de données d'un état à l'autre :`InputPath`,`Parameters`, `ResultSelector``ResultPath`, et. `OutputPath` Chaque champ JSONPath peut manipuler le JSON au fur et à mesure qu'il passe par chaque état de votre flux de travail.

Les champs JSONPath peuvent utiliser [des chemins](amazon-states-language-paths.md) pour sélectionner des parties du JSON à partir de l'entrée ou du résultat. Un chemin est une chaîne, commençant par`$`, qui identifie les nœuds dans le texte JSON. Les chemins Step Functions utilisent [JsonPath](https://datatracker.ietf.org/wg/jsonpath/about/)la syntaxe.

Le schéma suivant montre comment les informations JSON passent par l'état d'une tâche JSONPath. `InputPath`Sélectionne les parties de l'entrée JSON à transmettre à la tâche de l'`Task`état (par exemple, une AWS Lambda fonction). Vous pouvez ajuster les données envoyées à votre action `Parameters` sur le terrain. Ensuite`ResultSelector`, vous pouvez sélectionner des parties du résultat de l'action à reporter. `ResultPath`sélectionne ensuite la combinaison de l'entrée d'état et des résultats de la tâche à transmettre à la sortie. `OutputPath`peut filtrer la sortie JSON pour limiter davantage les informations transmises à la sortie.

![Ordre des filtres : InputPath, Paramètres ResultSelector, ResultPath, et OutputPath.](https://docs.aws.amazon.com/fr_fr/step-functions/latest/dg/images/vars-jsonpath.png)


**Topics**
+ [Transmission de données entre états avec des variables](workflow-variables.md)
+ [Transformer les données avec JSonata dans Step Functions](transforming-data.md)
+ [Accès aux données d'exécution depuis l'objet Context dans Step Functions](input-output-contextobject.md)
+ [Utilisation des chemins JSONPath](amazon-states-language-paths.md)
+ [Manipulation des paramètres dans les flux de travail Step Functions](input-output-inputpath-params.md)
+ [Exemple : manipulation de données d'état à l'aide de chemins dans les flux de travail Step Functions](input-output-example.md)
+ [Spécification de la sortie d'état à l'aide ResultPath de in Step Functions](input-output-resultpath.md)
+ [Mappez les champs d'entrée et de sortie d'état dans Step Functions](input-output-fields-dist-map.md)