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.
Définissez des tâches parallèles dans un flux de travail Step Functions
Dans la rubrique précédenteAjouter une logique conditionnelle, vous avez défini des conditions pour choisir différents chemins dans votre flux de travail. Jusqu'à présent, les étapes se sont déroulées de manière séquentielle. Dans cette rubrique, vous allez apprendre comment exécuter deux étapes ou plus simultanément à l'aide de l'Parallel
état.
Les deux branches d'un Parallel
état reçoivent la même entrée, mais chaque branche traite les parties d'entrée qui lui sont spécifiques. Step Functions attend que chaque branche soit terminée avant de passer à l'étape suivante.
Vous utiliserez l'état parallèle pour vérifier simultanément l'identité et l'adresse du demandeur.
Étape 1 : Création des fonctions Lambda pour effectuer les vérifications requises
Ce flux de travail de demande de carte de crédit invoque deux fonctions Lambda dans l'état parallèle pour vérifier l'identité et l'adresse du demandeur. Ces contrôles sont effectués simultanément à l'aide de l'état Parallèle. La machine d'état ne termine l'exécution qu'une fois que les deux branches parallèles ont terminé l'exécution.
Pour créer les fonctions Lambda de vérification d'identité et d'adresse de vérification
-
Dans un nouvel onglet ou une nouvelle fenêtre, ouvrez la console Lambda
et créez deux fonctions Lambda Node.js intitulées et. check-identity
check-address
Pour plus d'informations sur la création d'une fonction Lambda à l'aide de la console, consultez la section Création d'une fonction Lambda dans la console AWS Lambda Guide du développeur. -
Ouvrez la page de la fonction de vérification de l'identité et remplacez le code existant dans la zone Source du code par le code suivant :
const ssnRegex = /^\d{3}-?\d{2}-?\d{4}$/; const emailRegex = /^[a-zA-Z0-9._-]+@[a-zA-Z0-9.-]+\.[a-zA-Z]{2,4}$/; class ValidationError extends Error { constructor(message) { super(message); this.name = "CustomValidationError"; } } exports.handler = async (event) => { const { ssn, email } = event; console.log(`SSN: ${ssn} and email: ${email}`); const approved = ssnRegex.test(ssn) && emailRegex.test(email); if (!approved) { throw new ValidationError("Check Identity Validation Failed"); } return { statusCode: 200, body: JSON.stringify({ approved, message: `Identity validation ${approved ? 'passed' : 'failed'}` }) } };
-
Ouvrez la page de la fonction de vérification des adresses et remplacez le code existant dans la zone Source du code par le code suivant :
class ValidationError extends Error { constructor(message) { super(message); this.name = "CustomAddressValidationError"; } } exports.handler = async event => { const { street, city, state, zip } = event; console.log(`Address information: ${street}, ${city}, ${state} - ${zip}`); const approved = [street, city, state, zip].every(i => i?.trim().length > 0); if (!approved) { throw new ValidationError("Check Address Validation Failed"); } return { statusCode: 200, body: JSON.stringify({ approved, message: `Address validation ${ approved ? 'passed' : 'failed'}` }) } };
-
Pour les deux fonctions Lambda, dans la section Vue d'ensemble des fonctions, copiez leurs noms de ressources Amazon respectifs (ARN) et enregistrez-les dans un fichier texte. Vous aurez besoin de cette fonction pour ARNs spécifier l'intégration du service pour l'état d'identité et d'adresse du demandeur Verify. Voici un exemple ARN :
arn:aws:lambda:us-east-2:123456789012:function:
HelloWorld
Étape 2 : Mettre à jour le flux de travail — Ajouter des tâches parallèles à exécuter
Pour ajouter des tâches parallèles dans le flux de travail
-
Ouvrez la fenêtre de console Step Functions
contenant le prototype de flux de travail que vous avez crééCréez une machine à états dans Step Functions. -
Choisissez l'état Vérifier l'identité, puis dans l'onglet Configuration, procédez comme suit :
-
Pour le type d'intégration, conservez la sélection par défaut Optimized.
Note
À l'aide de Step Functions, vous pouvez intégrer d'autres Services AWS et orchestrez-les dans vos flux de travail. Pour plus d'informations sur les intégrations de services et leurs types, voir Intégrer les services avec Step Functions
-
Pour Nom de la fonction, choisissez la fonction Lambda de vérification de l'identité dans la liste déroulante.
-
Pour Charge utile, choisissez Entrer la charge utile, puis remplacez la charge utile d'exemple par la charge utile suivante :
{ "email": "janedoe@example.com", "ssn": "012-00-0000" }
-
-
Choisissez l'état Vérifier l'adresse, puis dans l'onglet Configuration, procédez comme suit :
-
Pour le type d'intégration, conservez la sélection par défaut Optimized.
-
Pour Nom de la fonction, choisissez la fonction Lambda d'adresse de vérification dans la liste déroulante.
-
Pour Charge utile, choisissez Entrer la charge utile, puis remplacez la charge utile d'exemple par la charge utile suivante :
{ "street": "123 Any St", "city": "Any Town", "state": "AT", "zip": "01000" }
-
-
Choisissez Suivant.
Étapes suivantes
À l'étape suivanteRépéter sur les éléments, vous allez apprendre à itérer sur des éléments.