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.
Utilisation de l'état de la carte intégrée pour répéter une action dans Step Functions
Ce didacticiel vous aide à commencer à utiliser l'Map
état en mode Inline. Vous utilisez l'état Inline Map dans vos flux de travail pour effectuer une action à plusieurs reprises. Pour plus d'informations sur le mode Inline, voir État de la carte en mode Inline.
Dans ce didacticiel, vous allez utiliser l'état Inline Map pour générer à plusieurs reprises les identifiants uniques universels de la version 4 (v4UUID). Vous commencez par créer un flux de travail contenant deux Passer l'état du flux de travail états et un état de carte intégrée dans Workflow Studio. Ensuite, vous configurez l'entrée et la sortie, y compris le JSON tableau d'entrées pour l'Map
état. L'Map
état renvoie un tableau de sortie qui contient le v4 UUIDs généré pour chaque élément du tableau d'entrée.
Étape 1 : Création du prototype de flux de travail
Au cours de cette étape, vous allez créer le prototype de votre flux de travail à l'aide de Workflow Studio. Workflow Studio est un concepteur visuel de flux de travail disponible dans la console Step Functions. Vous allez choisir les états requis dans l'onglet Flow et utiliser la fonction glisser-déposer de Workflow Studio pour créer le prototype du flux de travail.
Ouvrez la console Step Functions
et choisissez Create state machine. Dans la boîte de dialogue Choisir un modèle, sélectionnez Vide.
-
Choisissez Sélectionner pour ouvrir Workflow Studio dansMode de conception.
Dans l'onglet Flux, faites glisser un état Pass et déposez-le vers l'état vide intitulé Drag first state here.
Faites glisser un état de la carte et déposez-le en dessous de l'état Pass. Renommez l'état de la carte en.
Map demo
Faites glisser un deuxième état Pass et déposez-le dans l'état de démonstration de la carte.
Renommez le deuxième état Pass en.
Generate UUID
Étape 2 : Configuration de l'entrée et de la sortie
Au cours de cette étape, vous configurez l'entrée et la sortie pour tous les états de votre prototype de flux de travail. Tout d'abord, vous injectez des données fixes dans le flux de travail en utilisant le premier état Pass. Cet état Pass transmet ces données en entrée à l'état de démonstration de la carte. Dans cette entrée, vous spécifiez le nœud qui contient le tableau d'entrée sur lequel l'état de démonstration de la carte doit être itéré. Vous définissez ensuite l'étape que l'état de démonstration de la carte doit répéter pour générer la v4UUIDs. Enfin, vous configurez le résultat à renvoyer à chaque répétition.
Choisissez le premier état Pass dans votre prototype de flux de travail. Dans l'onglet Sortie, entrez ce qui suit sous Résultat :
{ "foo": "bar", "colors": [ "red", "green", "blue", "yellow", "white" ] }
Choisissez l'état de démonstration de la carte et dans l'onglet Configuration, procédez comme suit :
Choisissez Fournir un chemin vers le tableau d'éléments.
Spécifiez le chemin de référence suivant pour sélectionner le nœud qui contient le tableau d'entrée :
$.colors
Choisissez l'UUIDétat Générer et dans l'onglet Entrée, procédez comme suit :
Choisissez Transformer l'entrée avec paramètres.
Entrez l'JSONentrée suivante pour générer le v4 UUIDs pour chacun des éléments du tableau d'entrée. Vous utilisez la fonction
States.UUID
intrinsèque pour générer leUUIDs.{ "uuid.$": "States.UUID()" }
Pour l'UUIDétat Générer, choisissez l'onglet Sortie et procédez comme suit :
Choisissez Filtrer la sortie avec OutputPath.
Entrez le chemin de référence suivant pour sélectionner le JSON nœud qui contient les éléments du tableau de sortie :
$.uuid
Étape 3 : Vérifiez et enregistrez la définition générée automatiquement
Lorsque vous glissez et déposez des états du panneau Flow sur le canevas, Workflow Studio compose automatiquement la définition Amazon States Language (ASL) de votre flux de travail en temps réel. Vous pouvez modifier cette définition selon vos besoins.
-
(Facultatif) Choisissez Definition dans le Panneau Inspector panneau pour afficher la définition Amazon States Language générée automatiquement de votre flux de travail.
Astuce
Vous pouvez également consulter la ASL définition dans Workflow Studio. Éditeur de code Dans l'éditeur de code, vous pouvez également modifier la ASL définition de votre flux de travail.
L'exemple suivant montre la définition du langage Amazon States générée automatiquement pour votre flux de travail.
{ "Comment": "Using Map state in Inline mode", "StartAt": "Pass", "States": { "Pass": { "Type": "Pass", "Next": "Map demo", "Result": { "foo": "bar", "colors": [ "red", "green", "blue", "yellow", "white" ] } }, "Map demo": { "Type": "Map", "ItemsPath": "$.colors", "ItemProcessor": { "ProcessorConfig": { "Mode": "INLINE" }, "StartAt": "Generate UUID", "States": { "Generate UUID": { "Type": "Pass", "End": true, "Parameters": { "uuid.$": "States.UUID()" }, "OutputPath": "$.uuid" } } }, "End": true } } }
-
Spécifiez un nom pour votre machine à états. Pour ce faire, cliquez sur l'icône d'édition à côté du nom de la machine à états par défaut de MyStateMachine. Ensuite, dans Configuration de la machine d'état, spécifiez un nom dans le champ Nom de la machine d'état.
Pour ce didacticiel, saisissez le nom
InlineMapDemo
. -
(Facultatif) Dans Configuration de la machine à états, spécifiez d'autres paramètres de flux de travail, tels que le type de machine à états et son rôle d'exécution.
Pour ce didacticiel, conservez toutes les sélections par défaut dans la configuration State Machine.
-
Dans la boîte de dialogue Confirmer la création du rôle, choisissez Confirmer pour continuer.
Vous pouvez également choisir Afficher les paramètres des rôles pour revenir à la configuration de la machine State.
Note
Si vous supprimez le IAM rôle créé par Step Functions, Step Functions ne pourra pas le recréer ultérieurement. De même, si vous modifiez le rôle (par exemple, en supprimant Step Functions des principes de la IAM politique), Step Functions ne pourra pas restaurer ses paramètres d'origine ultérieurement.
Étape 4 : Exécutez la machine d'état
Les exécutions par State Machine sont des instances dans lesquelles vous exécutez votre flux de travail pour effectuer des tâches.
-
Sur la InlineMapDemopage, choisissez Démarrer l'exécution.
-
Dans la boîte de dialogue Démarrer l'exécution, procédez comme suit :
-
(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.
-
(Facultatif) Dans la zone de saisie, entrez les valeurs d'entrée au JSON format permettant d'exécuter votre flux de travail.
-
Choisissez Start execution (Démarrer l'exécution).
-
La console Step Functions vous dirige vers une page intitulée avec votre ID d'exécution. Cette page est connue sous le nom de page Détails de l'exécution. Sur cette page, vous pouvez consulter les résultats de l'exécution au fur et à mesure que l'exécution progresse ou une fois celle-ci terminée.
Pour consulter les résultats de l'exécution, choisissez des états individuels dans la vue graphique, puis choisissez les onglets individuels du Détails de l'étape volet pour afficher les détails de chaque état, y compris les entrées, les sorties et la définition respectivement. Pour plus de détails sur les informations d'exécution que vous pouvez consulter sur la page Détails de l'exécution, voirVue d'ensemble des détails d'exécution.
Pour afficher les entrées et sorties d'exécution side-by-side, choisissez Entrée et sortie d'exécution. Sous Sortie, consultez le tableau de sortie renvoyé par l'
Map
état. Voici un exemple de tableau de sortie :[ "a85cbc7b-4e65-4ac2-97af-80ed504adc1d", "b05bca11-d481-414e-aa9a-88285ec6590d", "f42d59f7-bd32-480f-b270-caddb518ce2a", "15f18616-517d-4b69-b7c3-bf22222d2efd", "690bcfee-6d58-408c-a6b4-1995ccafdbd2" ]
-