View a markdown version of this page

Exemple : invoquer une fonction Lambda - Amazon CodeCatalyst

Amazon n' CodeCatalyst est plus ouvert aux nouveaux clients. Les clients existants peuvent continuer à utiliser le service normalement. Pour de plus amples informations, veuillez consulter Comment effectuer une migration depuis 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 : invoquer une fonction Lambda

L'exemple de flux de travail suivant inclut l'action d'AWS Lambda invocation, 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 à l' AWS aide d'un 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 l'exécution automatique 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 invocation (LambdaNotify) : lors du déclenchement, cette action invoque la fonction Notify-Start Lambda dans le AWS compte et la région spécifiés (my-aws-account, et). us-west-2 Lors de l'invocation, la fonction Lambda envoie une notification Slack indiquant qu'un déploiement a commencé.

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

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 AWS Lambda Invoke et Deploy CloudFormation stack. Pour plus d'informations sur la configuration d'un environnement avec 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 AWS Lambda Invoke et Deploy CloudFormation stack, consultez la description de la Role propriété dans le action « AWS Lambda  invoquer » YAML etAction « Déployer une CloudFormation pile » YAML.

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