

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.

# Versions des machines d'état dans les flux de travail Step Functions
<a name="concepts-state-machine-version"></a>

Une *version* est un instantané numéroté et **immuable** d'une machine à états. Vous publiez des versions à partir de la dernière révision apportée à cette machine d’état. Chaque version possède un Amazon Resource Name (ARN) unique qui est une combinaison de l'ARN de la machine à états et du numéro de version séparés par deux points (:). L'exemple suivant montre le format d'un ARN de version State Machine.

```
arn:partition:states:region:account-id:stateMachine:myStateMachine:1
```

Pour commencer à utiliser les versions State Machine, vous devez publier la première version. Après avoir publié une version, vous pouvez appeler l'action d'[StartExecution](https://docs.aws.amazon.com/step-functions/latest/apireference/API_StartExecution.html)API avec l'ARN de la version. Vous ne pouvez pas modifier une version, mais vous pouvez mettre à jour une machine à états et publier une nouvelle version. Vous pouvez également publier plusieurs versions de votre machine d'état.

![\[Schéma illustratif flou montrant comment les versions sont des instantanés immuables de machines d'État.\]](http://docs.aws.amazon.com/fr_fr/step-functions/latest/dg/images/versioning-concept.png)


Lorsque vous publiez une nouvelle version de votre machine à états, Step Functions lui attribue un numéro de version. Les numéros de version commencent à 1 et augmentent de façon monotone pour chaque nouvelle version. Les numéros de version ne sont pas réutilisés pour une machine à états donnée. Si vous supprimez la version 10 de votre machine d'état puis publiez une nouvelle version, Step Functions la publie en tant que version 11.

Les propriétés suivantes sont les mêmes pour toutes les versions d'une machine à états :
+ Toutes les versions d'une machine à états partagent le même type [(Standard ou Express)](choosing-workflow-type.md).
+ Vous ne pouvez pas modifier le nom ou la date de création d'une machine à états entre les versions.
+ Les balises s'appliquent globalement aux machines d'État. Vous pouvez gérer les balises pour les machines à états à l'aide des actions [TagResource](https://docs.aws.amazon.com/step-functions/latest/apireference/API_TagResource.html)et de [UntagResource](https://docs.aws.amazon.com/step-functions/latest/apireference/API_UntagResource.html)l'API.

Les machines à états contiennent également des propriétés qui font partie de chaque version[revision](concepts-cd-aliasing-versioning.md#statemachinerev), mais ces propriétés peuvent différer entre deux versions ou révisions données. Ces propriétés incluent la [définition de la machine State](https://docs.aws.amazon.com/step-functions/latest/apireference/API_UpdateStateMachine.html#StepFunctions-UpdateStateMachine-request-definition), le [rôle IAM](https://docs.aws.amazon.com/step-functions/latest/apireference/API_UpdateStateMachine.html#StepFunctions-UpdateStateMachine-request-roleArn), la configuration du [suivi et la configuration](https://docs.aws.amazon.com/step-functions/latest/apireference/API_UpdateStateMachine.html#StepFunctions-UpdateStateMachine-request-tracingConfiguration) de la [journalisation](https://docs.aws.amazon.com/step-functions/latest/apireference/API_UpdateStateMachine.html#StepFunctions-UpdateStateMachine-request-loggingConfiguration).

## Publication d'une version de machine à états (console)
<a name="procedure-create-versions"></a>

Vous pouvez publier jusqu'à 1 000 versions d'une machine à états. Pour demander une augmentation de cette limite souple, utilisez la page **Support Center** du [AWS Management Console](https://docs.aws.amazon.com/servicequotas/latest/userguide/request-quota-increase.html). Vous pouvez supprimer manuellement les versions inutilisées depuis la console ou en appelant l'action [DeleteStateMachineVersion](https://docs.aws.amazon.com/step-functions/latest/apireference/API_DeleteStateMachineVersion.html)API.

**Pour publier une version d'une machine à états**

1. Ouvrez la [console Step Functions](https://console.aws.amazon.com/states/home?region=us-east-1#/), puis choisissez une machine à états existante.

1. Sur la page **détaillée de State machine**, choisissez **Modifier**.

1. Modifiez la définition de la machine à états selon vos besoins, puis choisissez **Enregistrer**.

1. Choisissez **Publier la version**.

1. (Facultatif) Dans le champ **Description** de la boîte de dialogue qui apparaît, entrez une brève description de la version de la machine à états.

1. Choisissez **Publier**.

**Note**  
Lorsque vous publiez une nouvelle version de votre machine à états, Step Functions lui attribue un numéro de version. Les numéros de version commencent à 1 et augmentent de façon monotone pour chaque nouvelle version. Les numéros de version ne sont pas réutilisés pour une machine à états donnée. Si vous supprimez la version 10 de votre machine d'état puis publiez une nouvelle version, Step Functions la publie en tant que version 11.

## Gestion des versions avec les opérations de l'API Step Functions
<a name="manage-versions-with-api"></a>

Step Functions fournit les opérations d'API suivantes pour publier et gérer les versions de State Machine :
+ [PublishStateMachineVersion](https://docs.aws.amazon.com/step-functions/latest/apireference/API_PublishStateMachineVersion.html)— Publie une version à partir de la version actuelle [revision](concepts-cd-aliasing-versioning.md#statemachinerev) d'une machine à états.
+ [UpdateStateMachine](https://docs.aws.amazon.com/step-functions/latest/apireference/API_UpdateStateMachine.html)— Publie une nouvelle version de machine à états si vous mettez à jour une machine à états et définissez le `publish` paramètre sur `true` dans la même demande.
+ [CreateStateMachine](https://docs.aws.amazon.com/step-functions/latest/apireference/API_CreateStateMachine.html)— Publie la première révision de la machine à états si vous définissez le `publish` paramètre sur`true`.
+ [ListStateMachineVersions](https://docs.aws.amazon.com/step-functions/latest/apireference/API_ListStateMachineVersions.html)— Répertorie les versions de l'ARN de la machine à états spécifié.
+ [DescribeStateMachine](https://docs.aws.amazon.com/step-functions/latest/apireference/API_DescribeStateMachine.html)— Renvoie les détails de la version de la machine à états pour un ARN de version spécifié dans`stateMachineArn`.
+ [DeleteStateMachineVersion](https://docs.aws.amazon.com/step-functions/latest/apireference/API_DeleteStateMachineVersion.html)— Supprime une version de machine à états.

Pour publier une nouvelle version à partir de la révision actuelle d'une machine à états appelée à `myStateMachine` l'aide du AWS Command Line Interface, utilisez la `publish-state-machine-version` commande :

```
aws stepfunctions publish-state-machine-version --state-machine-arn arn:aws:states:region:account-id:stateMachine:myStateMachine
```

La réponse renvoie le `stateMachineVersionArn`. Par exemple, la commande précédente renvoie une réponse de`arn:aws:states:region:account-id:stateMachine:myStateMachine:1`.

**Note**  
Lorsque vous publiez une nouvelle version de votre machine à états, Step Functions lui attribue un numéro de version. Les numéros de version commencent à 1 et augmentent de façon monotone pour chaque nouvelle version. Les numéros de version ne sont pas réutilisés pour une machine à états donnée. Si vous supprimez la version 10 de votre machine d'état puis publiez une nouvelle version, Step Functions la publie en tant que version 11.

## Exécution d'une version de machine à états depuis la console
<a name="procedure-run-version"></a>

Pour commencer à utiliser les versions de la machine à états, vous devez d'abord publier une version à partir de la machine à états actuelle[revision](concepts-cd-aliasing-versioning.md#statemachinerev). Pour publier une version, utilisez la console Step Functions ou appelez l'action [PublishStateMachineVersion](https://docs.aws.amazon.com/step-functions/latest/apireference/API_PublishStateMachineVersion.html)API. Vous pouvez également appeler l'action d'[UpdateStateMachineAlias](https://docs.aws.amazon.com/step-functions/latest/apireference/API_UpdateStateMachineAlias.html)API avec un paramètre facultatif nommé `publish` pour mettre à jour une machine à états et publier sa version.

Vous pouvez démarrer l'exécution d'une version à l'aide de la console ou en appelant l'action d'[StartExecution](https://docs.aws.amazon.com/step-functions/latest/apireference/API_StartExecution.html)API et en fournissant l'ARN de la version. Vous pouvez également utiliser un [alias](concepts-state-machine-alias.md) pour démarrer l'exécution d'une version. Sur la base de sa [configuration de routage](concepts-state-machine-alias.md#alias-routing-config), un alias achemine le trafic vers une version spécifique.

Si vous lancez une exécution par machine à états sans utiliser de version, Step Functions utilise la version la plus récente de la machine à états pour l'exécution. Pour plus d'informations sur la façon dont Step Functions associe une exécution à une version, consultez[Associer des exécutions à une version ou à un alias](execution-alias-version-associate.md).

**Pour démarrer une exécution à l'aide d'une version de machine à états**

1. Ouvrez la [console Step Functions](https://console.aws.amazon.com/states/home?region=us-east-1#/), puis choisissez une machine à états existante pour laquelle vous avez publié une ou plusieurs versions. Pour savoir comment publier une version, voir[Publication d'une version de machine à états (console)](#procedure-create-versions).

1. Sur la page **détaillée de State machine**, choisissez l'onglet **Versions**.

1. Dans la section **Versions**, procédez comme suit :

   1. Sélectionnez la version avec laquelle vous souhaitez démarrer l'exécution.

   1. Choisissez **Start execution (Démarrer l'exécution)**.

1. (Facultatif) Dans la boîte de dialogue **Démarrer l'exécution**, entrez le nom de l'exécution.

1. (Facultatif), entrez l'entrée d'exécution, puis choisissez **Démarrer l'exécution**.