Structure des machines à états dans Amazon States Language 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.

Structure des machines à états dans Amazon States Language pour les flux de travail Step Functions

Les machines à états sont définies à l'aide d'un JSON texte qui représente une structure contenant les champs suivants.

Comment (facultatif)

Une description lisible de la machine d'état.

StartAt (Obligatoire)

Une chaîne qui doit correspondre exactement (sensible à la casse) au nom de l'un des objets d'état.

TimeoutSeconds(Facultatif)

Le nombre maximal de secondes durant lequel une machine d'état peut être exécutée. Si elle dure plus longtemps que la durée spécifiée, l'exécution échoue avec un nom States.Timeout d'erreur.

Version (facultatif)

Version de l'Amazon States Language utilisée dans la machine à états (la valeur par défaut est « 1.0 »).

States (Obligatoire)

Objet contenant un ensemble d'états séparés par des virgules.

Le champ States contient States.

{ "State1" : { }, "State2" : { }, ... }

Une machine d'état est définie par les états qu'elle contient et les relations entre ceux-ci.

Voici un exemple.

{ "Comment": "A Hello World example of the Amazon States Language using a Pass state", "StartAt": "HelloWorld", "States": { "HelloWorld": { "Type": "Pass", "Result": "Hello World!", "End": true } } }

Lorsqu'une exécution de cette machine d'état est lancée, le système commence par l'état référencé dans le champ StartAt ("HelloWorld"). Si cet état a un champ "End": true, l'exécution s'arrête et renvoie un résultat. Dans le cas contraire, le système recherche un champ "Next": et continue avec cet état. Ce processus se répète jusqu'à ce que le système atteigne un état terminal (un état avec "Type": "Succeed", "Type": "Fail" ou "End": true) ou jusqu'à ce qu'une erreur d'exécution se produise.

Les règles suivantes s'appliquent aux états au sein d'une machine d'état :

  • Les états peuvent se produire dans n'importe quel ordre dans le bloc de délimitation, mais l'ordre dans lequel ils sont répertoriés n'affecte pas l'ordre dans lequel ils sont exécutés, qui est déterminé par le contenu des états eux-mêmes. Cet ordre est déterminé par le contenu des états.

  • Dans une machine d'état, il ne peut y avoir qu'un seul état désigné comme l'état start, désigné par la valeur du champ StartAt de la structure de niveau supérieur. Cet état est celui qui est exécuté en premier lorsque l'exécution commence.

  • Tout état dont le champ End est défini sur true est considéré comme un état end (ou terminal). Selon la logique de votre machine à états (par exemple, si votre machine à états possède plusieurs branches d'exécution), il se peut que vous ayez plusieurs états. end

  • Si votre machine d'état est composée d'un seul état, il peut s'agir de start et de end.

Champs d'état courants dans les flux de travail

Les champs suivants sont communs à tous les éléments de l'état.

Type (Obligatoire)

Type de l'état.

Next

Nom de l'état suivant qui sera exécuté lorsque l'état actuel sera terminé. Certains types d'états, par exemple Choice, permettent plusieurs états de transition.

Si l'état actuel est le dernier état de votre flux de travail, ou un état terminal, tel que État du flux de travail réussi ouÉtat du flux de travail défaillant, vous n'avez pas besoin de spécifier le Next champ.

End

Désigne cet état comme un état terminal (il termine l'exécution) s'il est défini sur true. Il peut y avoir n'importe quel nombre d'états terminaux par machine d'état. Un seul parmi Next ou End peut être utilisé dans un état. Certains types d'états, tels queChoice, ou les états terminaux, tels que État du flux de travail réussi etÉtat du flux de travail défaillant, ne prennent pas en charge ou n'utilisent pas le End champ.

Comment (facultatif)

Contient une description lisible de l'état.

InputPath (facultatif)

Un chemin sélectionne une partie de l'entrée de l'état à transmettre à la tâche de l'état pour traitement. S'il est omis, il a la valeur $ qui désigne l'entrée complète. Pour plus d'informations, consultez Traitement des entrées et des sorties.

OutputPath (facultatif)

Un chemin qui sélectionne une partie de la sortie de l'état à transmettre à l'état suivant. S'il est omis, il possède la valeur $ qui désigne l'ensemble de la sortie. Pour plus d'informations, consultez Traitement des entrées et des sorties.