Exemplo: invocar uma função do Lambda - Amazon CodeCatalyst

O Amazon CodeCatalyst não está mais disponível para novos clientes. Os clientes atuais podem continuar usando o serviço normalmente. Para obter mais informações, consulte Como migrar do CodeCatalyst.

Exemplo: invocar uma função do Lambda

O exemplo de fluxo de trabalho a seguir inclui a ação Invocação do AWS Lambda, junto com uma ação de implantação. O fluxo de trabalho envia uma notificação do Slack indicando que uma implantação foi iniciada e, depois, implanta uma aplicação na AWS usando um modelo do CloudFormation. O fluxo de trabalho consiste nos seguintes blocos de compilação que são executados sequencialmente:

  • Um gatilho: esse gatilho inicia a execução automática do fluxo de trabalho quando você envia uma alteração ao seu repositório de origem. Para ter mais informações sobre gatilhos, consulte Início da execução automática de um fluxo de trabalho usando gatilhos.

  • Uma ação Invocação do AWS Lambda (LambdaNotify) — No gatilho, essa ação invoca a função do Lambda Notify-Start na conta da AWS e região especificadas (my-aws-account e us-west-2). Na invocação, a função do Lambda envia uma notificação do Slack indicando que a implantação foi iniciada.

  • Uma ação Implantar pilha do CloudFormation (Deploy) — Ao concluir a ação Invocação do AWS Lambda, a ação Implantar pilha do CloudFormation executa o modelo (cfn-template.yml) para implantar sua pilha de aplicações. Para ter mais informações sobre a ação Implantar pilha do CloudFormation, consulte Implantação de uma pilha do CloudFormation.

nota

O exemplo de fluxo de trabalho a seguir serve para fins ilustrativos e não funcionará sem configuração adicional.

nota

No código YAML a seguir, você pode omitir as seções Connections: se quiser. Se você omitir essas seções, deverá garantir que o perfil especificado no campo Perfil do IAM padrão em seu ambiente inclua as permissões e as políticas de confiança exigidas pelas ações Invocação do AWS Lambda e Implantar pilha do CloudFormation. Para ter mais informações sobre como configurar um ambiente com um perfil do IAM padrão, consulte Criar um ambiente. Para ter mais informações sobre as permissões e as políticas de confiança exigidas pelas ações Invocação do AWS Lambda e Implantar pilha do CloudFormation, consulte a descrição da propriedade Role na YAML da ação “Invocação do AWS Lambda” e YAML da ação “Implantar pilha do CloudFormation”.

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