Exemplo de fluxo de trabalho que invoca uma função Lambda - Amazon CodeCatalyst

As traduções são geradas por tradução automática. Em caso de conflito entre o conteúdo da tradução e da versão original em inglês, a versão em inglês prevalecerá.

Exemplo de fluxo de trabalho que invoca uma função Lambda

O fluxo de trabalho a seguir inclui a ação de AWS Lambda invocação, 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, em seguida, implanta um aplicativo AWS usando um AWS CloudFormation modelo. O fluxo de trabalho consiste nos seguintes blocos de construçã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 obter mais informações sobre gatilhos, consulte Iniciando um fluxo de trabalho executado automaticamente com gatilhos.

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

  • Uma ação Deploy AWS CloudFormation stack (Deploy) — Ao concluir a ação de AWS Lambda invocação, a ação Deploy AWS CloudFormation stack executa o template (cfn-template.yml) para implantar sua pilha de aplicativos. Para obter mais informações sobre a ação Deploy AWS CloudFormation stack, consulteImplantando uma AWS CloudFormation pilha com um fluxo de trabalho.

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 Connections: seções se quiser. Se você omitir essas seções, deverá garantir que a função especificada no campo Função padrão do IAM em seu ambiente inclua as permissões e as políticas de confiança exigidas pelas ações de AWS Lambda invocação e implantação da AWS CloudFormation pilha. Para obter mais informações sobre como configurar um ambiente com uma função padrão do IAM, consulteCriar um ambiente. Para obter mais informações sobre as permissões e as políticas de confiança exigidas pelas ações AWS Lambda invoke e Deploy AWS CloudFormation stack, consulte a descrição da Role propriedade em e. definição YAML da ação “AWS Lambda invocar” Definição YAML da ação “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