View a markdown version of this page

Traitement des entrées et des sorties dans 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.

Traitement des entrées et des sorties dans Step Functions

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 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 leObjet Contexte. 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 à l'aide de variables.

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.

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.

Traitement des entrées et des sorties avec JSONPath

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

Pour les machines à états qui utilisent JSONPath, les champs suivants contrôlent le flux de données d'un état à l'autre :InputPath,Parameters, ResultSelectorResultPath, 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 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 JsonPathla syntaxe.

Le schéma suivant montre comment les informations JSON passent par l'état d'une tâche JSONPath. InputPathSé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. EnsuiteResultSelector, vous pouvez sélectionner des parties du résultat de l'action à reporter. ResultPathsélectionne ensuite la combinaison de l'entrée d'état et des résultats de la tâche à transmettre à la sortie. OutputPathpeut filtrer la sortie JSON pour limiter davantage les informations transmises à la sortie.

Ordre des filtres : InputPath, Paramètres ResultSelector, ResultPath, et OutputPath.