Traitez les données d'une file d'attente avec un état cartographique 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.

Traitez les données d'une file d'attente avec un état cartographique dans Step Functions

Dans cet exemple de flux de travail, un État du flux de travail cartographique État traite les données d'une file d'attente, envoie des messages aux abonnés et les stocke dans une base de données.

Step Functions utilise une intégration optimisée pour extraire les messages d'une SQS file d'attente Amazon. Lorsque des messages sont disponibles, un Choice état transmet un ensemble de JSON messages à un Map état pour traitement. Pour chaque message, la machine d'état écrit le message sur DynamoDB, le retire de la file d'attente et le publie sur une rubrique Amazon. SNS

Cet exemple de projet inclut les ressources suivantes :

  • Un AWS Step Functions machine d'état

  • Une SQS file d'attente Amazon à partir de laquelle l'état de la carte lit et supprime les messages de manière itérative.

  • Table DynamoDB dans laquelle l'état de la carte écrit des messages de manière itérative.

  • SNSRubrique Amazon sur laquelle Step Functions publie les messages qu'elle lit depuis la SQS file d'attente Amazon.

  • Relié AWS Identity and Access Management (IAM) rôles

Étape 1 : Création de la machine à états

  1. Ouvrez la console Step Functions et choisissez Create state machine.

  2. Recherchez et choisissez Traiter dynamiquement les données avec un état cartographique. Choisissez Next (Suivant) pour continuer.

  3. Choisissez Exécuter une démo pour créer un ready-to-deploy flux de travail et un mode de travail en lecture seule, ou choisissez Construire dessus pour créer une définition de machine à états modifiable sur laquelle vous pourrez vous appuyer pour la déployer ultérieurement.

  4. Choisissez Utiliser le modèle pour poursuivre votre sélection.

Les prochaines étapes dépendent de votre choix précédent :

  1. Exécuter une démonstration : vous pouvez passer en revue la machine d'état avant de créer un projet en lecture seule avec des ressources déployées par AWS CloudFormation à votre Compte AWS.

    Vous pouvez consulter la définition de la machine d'état et, lorsque vous êtes prêt, choisissez Déployer et exécuter pour déployer le projet et créer les ressources.

    Le déploiement peut prendre jusqu'à 10 minutes pour créer des ressources et des autorisations. Vous pouvez utiliser le lien Stack ID pour suivre les progrès dans AWS CloudFormation.

    Une fois le déploiement terminé, vous devriez voir votre nouvelle machine d'état dans la console.

  2. Tirez parti de cette information : vous pouvez revoir et modifier la définition du flux de travail. Vous devrez peut-être définir des valeurs pour les espaces réservés dans l'exemple de projet avant de tenter d'exécuter votre flux de travail personnalisé.

Note

Des frais standard peuvent s'appliquer pour les services déployés sur votre compte.

Étape 2 : Abonnez-vous à la SNS rubrique Amazon

Astuce

Abonnez-vous à la SNS rubrique Amazon et ajoutez des articles à la SQS file d'attente Amazon avant de lancer votre machine à états.

  1. Ouvrez la SNSconsole Amazon.

  2. Choisissez Sujets et recherchez le sujet créé par l'exemple de projet.

  3. Choisissez Créer un abonnement, et pour Protocole, sélectionnez E-mail.

  4. Sous Endpoint, entrez votre adresse e-mail pour vous abonner au sujet.

  5. Choisissez Create subscription (Créer un abonnement).

  6. Confirmez l'abonnement dans votre e-mail pour l'activer.

Étape 3 : ajouter des messages à la SQS file d'attente Amazon

  1. Ouvrez la SQSconsole Amazon.

  2. Choisissez la file d'attente créée par l'exemple de projet.

  3. Choisissez Envoyer et recevoir des messages, entrez un message et choisissez Envoyer un message. Répétez cette étape pour ajouter plusieurs messages à la file d'attente.

Étape 4 : Exécutez la machine d'état

Astuce

Les files d'attente sur Amazon SNS sont finalement cohérentes. Vous devrez peut-être attendre quelques minutes après avoir envoyé des messages à la file d'attente avant de lancer votre machine d'état.

  1. Sur la page State machines, choisissez votre exemple de projet.

  2. Sur la page d'exemple de projet, choisissez Démarrer l'exécution.

  3. Dans la boîte de dialogue Démarrer l'exécution, procédez comme suit :

    1. (Facultatif) Entrez un nom d'exécution personnalisé pour remplacer le nom par défaut généré.

      ASCIINon-noms et journalisation

      Step Functions accepte les noms des machines d'état, des exécutions, des activités et des étiquettes contenant des caractères autres que des ASCII caractères. Comme ces caractères ne fonctionneront pas avec Amazon CloudWatch, nous vous recommandons de n'utiliser que des ASCII caractères afin de pouvoir suivre les statistiques CloudWatch.

    2. (Facultatif) Dans la zone de saisie, entrez les valeurs d'entrée sous la formeJSON. Vous pouvez ignorer cette étape si vous lancez une démonstration.

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

    La console Step Functions vous dirige vers une page de détails d'exécution où vous pouvez choisir les états dans la vue graphique pour explorer les informations associées dans le Détails de l'étape volet.

Félicitations !

Vous devriez maintenant disposer d'une démo en cours d'exécution ou d'une définition de machine à états que vous pouvez personnaliser.