Sélectionner vos préférences de cookies

Nous utilisons des cookies essentiels et des outils similaires qui sont nécessaires au fonctionnement de notre site et à la fourniture de nos services. Nous utilisons des cookies de performance pour collecter des statistiques anonymes afin de comprendre comment les clients utilisent notre site et d’apporter des améliorations. Les cookies essentiels ne peuvent pas être désactivés, mais vous pouvez cliquer sur « Personnaliser » ou « Refuser » pour refuser les cookies de performance.

Si vous êtes d’accord, AWS et les tiers approuvés utiliseront également des cookies pour fournir des fonctionnalités utiles au site, mémoriser vos préférences et afficher du contenu pertinent, y compris des publicités pertinentes. Pour accepter ou refuser tous les cookies non essentiels, cliquez sur « Accepter » ou « Refuser ». Pour effectuer des choix plus détaillés, cliquez sur « Personnaliser ».

Créez une machine d'état Step Functions en utilisant AWS SAM

Mode de mise au point
Créez une machine d'état Step Functions en utilisant AWS SAM - 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.

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.

Dans ce guide, vous allez télécharger, créer et déployer un exemple d' AWS SAM application contenant une machine à AWS Step Functions états. Cette application crée un flux de travail simulé de transactions boursières qui s'exécute selon un calendrier prédéfini (veuillez noter que le calendrier est désactivé par défaut pour éviter d'encourir des frais).

Le diagramme suivant montre les composants de cette application :

Schéma illustrant le flux de travail de ce didacticiel.

Voici un aperçu des commandes que vous exécutez pour créer votre exemple d'application. Pour plus d'informations sur chacune de ces commandes, consultez les sections plus loin dans cette page

# Step 1 - Download a sample application. For this tutorial you # will follow the prompts to select an AWS Quick Start Template # called 'Multi-step workflow' sam init # Step 2 - Build your application cd project-directory sam build # Step 3 - Deploy your application sam deploy --guided

Prérequis

Ce guide part du principe que vous avez terminé les étapes de la section Installation de la AWS SAM CLI pour votre système d'exploitation. Il suppose que ce qui suit a été effectué :

  1. J'ai créé un AWS compte.

  2. Autorisations IAM configurées.

  3. Homebrew installé. Remarque : Homebrew est uniquement un prérequis pour Linux et macOS.

  4. Installation de la AWS SAM CLI. Remarque : assurez-vous d'avoir la version 0.52.0 ou ultérieure. Vous pouvez vérifier la version dont vous disposez en exécutant la commande sam --version.

Étape 1 : Téléchargez un exemple d'application AWS SAM

Commande à exécuter :

sam init

Suivez les invites à l'écran pour sélectionner les éléments suivants :

  1. Modèle : Modèles de démarrage AWS rapide

  2. Langage : Python, Ruby, NodeJS, Go, Java ou .NET

  3. Nom du projet : (nom de votre choix - par défaut : sam-app)

  4. Application de démarrage rapide : flux de travail en plusieurs étapes

Que AWS SAM fais-tu :

Cette commande crée un répertoire avec le nom que vous avez fourni pour l'invite 'Nom du projet' (par défaut : sam-app). Le contenu spécifique du répertoire dépendra du langage choisi.

Voici le contenu du répertoire lorsque vous choisissez l'un des runtimes Python :

├── README.md
├── functions
│   ├── __init__.py
│   ├── stock_buyer
│   │   ├── __init__.py
│   │   ├── app.py
│   │   └── requirements.txt
│   ├── stock_checker
│   │   ├── __init__.py
│   │   ├── app.py
│   │   └── requirements.txt
│   └── stock_seller
│       ├── __init__.py
│       ├── app.py
│       └── requirements.txt
├── statemachine
│   └── stock_trader.asl.json
├── template.yaml
└── tests
    └── unit
        ├── __init__.py
        ├── test_buyer.py
        ├── test_checker.py
        └── test_seller.py

Il y a deux fichiers particulièrement intéressants que vous pouvez examiner :

Vous pouvez voir l'entrée suivante dans le fichier template.yaml, qui pointe vers le fichier de définition de la machine d'état :

Properties: DefinitionUri: statemachine/stock_trader.asl.json

Il peut être utile de conserver la définition de la machine à états sous forme de fichier distinct au lieu de l'intégrer dans le AWS SAM modèle. Par exemple, le suivi des modifications apportées à la définition de la machine à états est plus facile si vous n'incluez pas la définition dans le modèle. Vous pouvez utiliser le Workflow Studio pour créer et gérer la définition de la machine à états, et exporter la définition de la console directement vers le fichier de spécification Amazon States Language sans la fusionner dans le modèle.

Pour plus d'informations sur l'application exemple, consultez le fichier README.md dans le répertoire du projet.

Étape 2 : Créer votre application

Commande à exécuter :

Changez d'abord dans le répertoire du projet (c'est-à-dire le répertoire où se trouve le fichier template.yaml de l'application exemple ; par défaut : sam-app), puis exécutez cette commande :

sam build

Exemple de sortie :

  
 Build Succeeded

 Built Artifacts  : .aws-sam/build
 Built Template   : .aws-sam/build/template.yaml

 Commands you can use next
 =========================
 [*] Invoke Function: sam local invoke
 [*] Deploy: sam deploy --guided
       

Que AWS SAM fais-tu :

La AWS SAM CLI est fournie avec des abstractions pour un certain nombre d'environnements d'exécution Lambda afin de créer vos dépendances, et copie tous les artefacts de construction dans des dossiers intermédiaires afin que tout soit prêt à être empaqueté et déployé. La commande sam build crée toutes les dépendances de votre application et copie les artefacts de création dans les dossiers sous .aws-sam/build.

Étape 3 : Déployer votre application dans le AWS cloud

Commande à exécuter :

sam deploy --guided

Suivez les invites à l’écran. Vous pouvez simplement répondre avec Enter pour accepter les options par défaut fournies dans l'expérience interactive.

Que AWS SAM fais-tu :

Cette commande déploie votre application dans le AWS cloud. Il prend les artefacts de déploiement que vous créez à l'aide de la sam build commande, les empaquète et les télécharge dans un compartiment Amazon S3 créé par la AWS SAM CLI, puis déploie l'application à l'aide de. AWS CloudFormation Dans la sortie de la commande de déploiement, vous pouvez voir les modifications apportées à votre pile AWS CloudFormation .

Vous pouvez vérifier que l'exemple de machine d'état Step Functions a été déployé avec succès en suivant ces étapes :

  1. Connectez-vous à la console Step Functions AWS Management Console et ouvrez-la à l'adresse https://console.aws.amazon.com/states/.

  2. Dans le panneau de navigation de gauche, choisissez Machines d’état.

  3. Recherchez et choisissez dans la liste votre nouvelle machine d'état. Il sera nommé StockTradingStateMachine -<unique-hash>.

  4. Choisissez l'onglet Définition.

Vous devriez maintenant disposer d’une représentation visuelle de votre machine d'état. Vous pouvez vérifier que la représentation visuelle correspond à la définition de la machine d'état trouvée dans le fichier statemachine/stockTrader.asl.json du répertoire de votre projet.

Résolution des problèmes

Erreur de l’interface de ligne de commande SAM : « aucune option de ce type : —guidé »

Lors de l'exécution de sam deploy, l'erreur suivante s'affiche :

 
Error: no such option: --guided
            

Cela signifie que vous utilisez une ancienne version de la AWS SAM CLI qui ne prend pas en charge le --guided paramètre. Pour résoudre ce problème, vous pouvez soit mettre à jour votre version de AWS SAM CLI vers la version 0.33.0 ou ultérieure, soit omettre le --guided paramètre dans la commande. sam deploy

Erreur de l’interface de ligne de commande SAM : « Impossible de créer les ressources gérées : impossible de localiser les informations d'identification »

Lors de l'exécution de sam deploy, l'erreur suivante s'affiche :

 
Error: Failed to create managed resources: Unable to locate credentials
            

Cela signifie que vous n'avez pas configuré AWS d'informations d'identification pour permettre à la AWS SAM CLI d'effectuer des appels AWS de service. Pour résoudre ce problème, vous devez configurer les AWS informations d'identification. Pour plus d'informations, consultez la section Configuration des AWS informations d'identification dans le guide du AWS Serverless Application Model développeur.

Nettoyage

Si vous n'avez plus besoin des AWS ressources que vous avez créées en exécutant ce didacticiel, vous pouvez les supprimer en supprimant la AWS CloudFormation pile que vous avez déployée.

Pour supprimer la AWS CloudFormation pile créée avec ce didacticiel à l'aide du AWS Management Console, procédez comme suit :

  1. Connectez-vous à la AWS CloudFormation console AWS Management Console et ouvrez-la à l'adresse https://console.aws.amazon.com/cloudformation.

  2. Dans le volet de navigation de gauche, choisissez Stacks (Piles).

  3. Dans la liste des piles, choisissez sam-app (ou le nom de la pile que vous avez créée).

  4. Sélectionnez Delete (Supprimer).

L'état de la pile passe alors à DELETE_COMPLETE.

Vous pouvez également supprimer la AWS CloudFormation pile en exécutant la AWS CLI commande suivante :

aws cloudformation delete-stack --stack-name sam-app --region region

Vérifier la pile supprimée

Pour les deux méthodes de suppression de la AWS CloudFormation pile, vous pouvez vérifier qu'elle a été supprimée en accédant à https://console.aws.amazon.com/cloudformation, en choisissant Stacks dans le volet de navigation de gauche et en choisissant Deleted dans le menu déroulant à droite de la zone de texte de recherche. Vous devriez voir le nom de votre pile sam-app (ou le nom de la pile que vous avez créée) dans la liste des piles supprimées.

Rubrique suivante :

Examiner les exécutions

Rubrique précédente :

Tutoriels et ateliers
ConfidentialitéConditions d'utilisation du sitePréférences de cookies
© 2025, Amazon Web Services, Inc. ou ses affiliés. Tous droits réservés.