

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.

# Tutoriel : Utiliser une AWS Step Functions action d'appel dans un pipeline
<a name="tutorials-step-functions"></a>

Vous pouvez l'utiliser AWS Step Functions pour créer et configurer des machines d'état. Ce didacticiel vous montre comment ajouter une action d'appel à un pipeline qui active les exécutions de machines d'état à partir de votre pipeline. 

**Important**  
Dans le cadre de la création d'un pipeline, un compartiment d'artefacts S3 fourni par le client sera utilisé CodePipeline pour les artefacts. (Ceci est différent du compartiment utilisé pour une action source S3.) Si le compartiment d'artefacts S3 se trouve dans un compte différent de celui de votre pipeline, assurez-vous que le compartiment d'artefacts S3 appartient à cette personne sûre et Comptes AWS qu'elle sera fiable.

Dans ce didacticiel, vous effectuez les tâches suivantes :
+ Créez une machine à états standard dans AWS Step Functions.
+ Entrez directement le JSON d’entrée de la machine d'état. Vous pouvez également télécharger le fichier d'entrée de la machine à états dans un compartiment Amazon Simple Storage Service (Amazon S3).
+ Mettez à jour votre pipeline en ajoutant l'action de la machine d'état.

**Topics**
+ [Condition préalable : créer ou choisir un pipeline simple](#tutorials-step-functions-prereq)
+ [Étape 1 : Créer l'exemple de machine d'état](#tutorials-step-functions-sample)
+ [Étape 2 : Ajouter une action d'appel Step Functions à votre pipeline](#tutorials-step-functions-pipeline)

## Condition préalable : créer ou choisir un pipeline simple
<a name="tutorials-step-functions-prereq"></a>

Dans ce didacticiel, vous ajoutez une action d'appel à un pipeline existant. Vous pouvez utiliser le pipeline que vous avez créé dans [Didacticiel : Création d'un pipeline simple (compartiment S3)](tutorials-simple-s3.md) ou [Tutoriel : Création d'un pipeline simple (CodeCommit référentiel)](tutorials-simple-codecommit.md).

Vous utilisez un pipeline existant avec une action source et au moins une structure en deux étapes, mais vous n'utilisez pas d'artefacts source pour cet exemple.

**Note**  
Vous devrez peut-être mettre à jour le rôle de service utilisé par votre pipeline avec les autorisations supplémentaires requises pour exécuter cette action. Pour ce faire, ouvrez la console Gestion des identités et des accès AWS (IAM), recherchez le rôle, puis ajoutez les autorisations à la politique du rôle. Pour de plus amples informations, veuillez consulter [Ajouter des autorisations au rôle CodePipeline de service](how-to-custom-role.md#how-to-update-role-new-services).

## Étape 1 : Créer l'exemple de machine d'état
<a name="tutorials-step-functions-sample"></a>

Dans la console Step Functions, créez une machine à états à l'aide du modèle `HelloWorld` d'exemple. Pour obtenir des instructions, consultez la section [Créer une machine à états](https://docs.aws.amazon.com/step-functions/latest/dg/getting-started.html#create-state-machine) dans le *guide du AWS Step Functions développeur*.

## Étape 2 : Ajouter une action d'appel Step Functions à votre pipeline
<a name="tutorials-step-functions-pipeline"></a>

Ajoutez une action d'appel Step Functions à votre pipeline comme suit :

1. Connectez-vous à la CodePipeline console AWS Management Console et ouvrez-la à l'[adresse http://console.aws.amazon. com/codesuite/codepipeline/home](https://console.aws.amazon.com/codesuite/codepipeline/home).

   Les noms de tous les pipelines associés à votre AWS compte sont affichés.

1. Dans **Name**, choisissez le nom du pipeline que vous souhaitez modifier. Une vue détaillée du pipeline s'affiche alors, laquelle indique notamment l'état de chaque action, dans chaque étape du pipeline.

1. Sur la page des détails du pipeline, choisissez **Edit**.

1. Sur la deuxième étape de votre pipeline simple, choisissez **Modifier l’étape**. Sélectionnez **Delete (Supprimer)**. Ceci supprime la deuxième étape maintenant que vous n'en avez plus besoin.

1. Au bas du diagramme, choisissez **\$1 Ajouter une étape**.

1. Dans **Nom d’étape**, saisissez un nom pour l’étape, par exemple **Invoke**, puis choisissez **Ajouter une étape**.

1. Choisissez **\$1 Ajouter un groupe d'actions**.

1. Dans **Nom de l'action**, saisissez un nom, par exemple **Invoke**.

1. Dans **Action provider**, sélectionnez **AWS Step Functions**. Acceptez la région du pipeline comme **Région** par défaut.

1. Dans **Artefacts d'entrée**, choisissez `SourceArtifact`.

1. Dans **ARN de la machine d'état**, choisissez l'ARN (Amazon Resource Name) de la machine d'état que vous avez créée précédemment.

1. (Facultatif) Dans **Préfixe du nom d'exécution**, saisissez un préfixe à ajouter à l'ID d'exécution de la machine d'état.

1. Dans **Type d'entrée**, choisissez **Littéral**.

1. Dans **Entrée**, saisissez le JSON d’entrée que l'exemple de machine d’état `HelloWorld` attend.
**Note**  
L'entrée dans l'exécution de la machine à états est différente du terme utilisé CodePipeline pour décrire les artefacts d'entrée pour les actions.

   Pour cet exemple, saisissez le JSON suivant :

   ```
   {"IsHelloWorldExample": true}
   ```

1. Sélectionnez **Exécuté**.

1. Sur l’étape que vous modifiez, choisissez **Terminé**. Dans le volet AWS CodePipeline , choisissez **Enregistrer** puis **Enregistrer** dans le message d'avertissement.

1. Pour soumettre vos modifications et lancer l'exécution d'un pipeline, choisissez **Changement de version**, puis **Publication**.

1. Une fois votre pipeline terminé, choisissez **AWS Step Functions** dans votre action d'invocation. Dans la AWS Step Functions console, consultez l'ID d'exécution de votre machine à états. L'ID affiche le nom de votre machine d'état `HelloWorld` et l'ID d'exécution de la machine d'état avec le préfixe `my-prefix`.

   ```
   arn:aws:states:us-west-2:account-ID:execution:HelloWorld:my-prefix-0d9a0900-3609-4ebc-925e-83d9618fcca1
   ```