Exemple de flux de travail qui invoque une fonction Lambda - Amazon CodeCatalyst

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.

Exemple de flux de travail qui invoque une fonction Lambda

Le flux de travail suivant inclut l'AWS Lambda action d'appel, ainsi qu'une action de déploiement. Le flux de travail envoie une notification Slack indiquant qu'un déploiement a commencé, puis déploie une application en AWS utilisant un AWS CloudFormation modèle. Le flux de travail comprend les éléments de base suivants qui s'exécutent de manière séquentielle :

  • Un déclencheur : ce déclencheur lance automatiquement l'exécution du flux de travail lorsque vous apportez une modification à votre référentiel source. Pour plus d'informations sur les déclencheurs, consultez Démarrage d'un flux de travail exécuté automatiquement à l'aide de déclencheurs.

  • Une action d'AWS Lambda appel (LambdaNotify) — Au moment du déclenchement, cette action invoque la fonction Notify-Start Lambda dans le compte et la région AWS spécifiés my-aws-account (, us-west-2 et). Lors de l'appel, la fonction Lambda envoie une notification Slack indiquant qu'un déploiement a commencé.

  • Une action Deploy AWS CloudFormation stack (Deploy) — Une fois l'action AWS Lambda d'appel terminée, l'action Deploy AWS CloudFormation stack exécute le template (cfn-template.yml) pour déployer votre pile d'applications. Pour plus d'informations sur l'action Deploy AWS CloudFormation stack, consultezDéploiement d'une AWS CloudFormation pile avec un flux de travail.

Note

L'exemple de flux de travail suivant est fourni à titre d'illustration et ne fonctionnera pas sans configuration supplémentaire.

Note

Dans le code YAML qui suit, vous pouvez omettre les Connections: sections si vous le souhaitez. Si vous omettez ces sections, vous devez vous assurer que le rôle spécifié dans le champ Rôle IAM par défaut de votre environnement inclut les autorisations et les politiques de confiance requises par les actions de AWS CloudFormation pile AWS Lambda Invoke et Deploy. Pour plus d'informations sur la configuration d'un environnement doté d'un rôle IAM par défaut, consultezCréation d'un environnement. Pour plus d'informations sur les autorisations et les politiques de confiance requises par les actions de AWS CloudFormation pile AWS Lambda Invoke et Deploy, consultez la description de la Role propriété dans le définition YAML de l'action « AWS Lambda  invoke » etDéfinition YAML de l'action « Deploy AWS CloudFormation Stack ».

Name: codecatalyst-lamda-invoke-workflow SchemaVersion: 1.0 Triggers: - Type: PUSH Branches: - main Actions: LambdaNotify: Identifier: aws/lambda-invoke@v1 Environment: Name: my-production-environment Connections: - Name: my-aws-account Role: codecatalyst-lambda-invoke-role Inputs: Sources: - WorkflowSource Configuration: Function: Notify-Start AWSRegion: us-west-2 Deploy: Identifier: aws/cfn-deploy@v1 Environment: Name: my-production-environment Connections: - Name: my-aws-account Role: codecatalyst-deploy-role Inputs: Sources: - WorkflowSource Configuration: name: my-application-stack region: us-west-2 role-arn: arn:aws:iam::111122223333:role/StackRole template: ./cfn-template.yml capabilities: CAPABILITY_IAM,CAPABILITY_AUTO_EXPAND