Ejemplo: invocar una función Lambda - Amazon CodeCatalyst

Las traducciones son generadas a través de traducción automática. En caso de conflicto entre la traducción y la version original de inglés, prevalecerá la version en inglés.

Ejemplo: invocar una función Lambda

El siguiente ejemplo de flujo de trabajo incluye la acción de AWS Lambda invocación junto con una acción de despliegue. El flujo de trabajo envía una notificación de Slack en la que se indica que se ha iniciado una implementación y, a continuación, despliega una aplicación AWS utilizando una plantilla. AWS CloudFormation El flujo de trabajo consta de los siguientes componentes básicos que se ejecutan de forma secuencial:

  • Un disparador: este activador inicia la ejecución automática del flujo de trabajo al introducir un cambio en el repositorio de origen. Para obtener más información acerca de los disparadores, consulte Iniciar un flujo de trabajo, ejecutarlo automáticamente mediante activadores.

  • Una acción de AWS Lambda invocación (LambdaNotify): al activarse, esta acción invoca la función Notify-Start Lambda en la AWS cuenta y región especificadas (my-aws-account, y). us-west-2 Al invocarse, la función Lambda envía una notificación de Slack que indica que se ha iniciado una implementación.

  • Una acción de despliegue de AWS CloudFormation pila (Deploy): al finalizar la acción de AWS Lambda invocación, la acción de despliegue de AWS CloudFormation pila ejecuta la plantilla (cfn-template.yml) para desplegar la pila de aplicaciones. Para obtener más información sobre la acción Implementar AWS CloudFormation una pila, consulteImplementación de una AWS CloudFormation pila.

nota

El siguiente ejemplo de flujo de trabajo tiene fines ilustrativos y no funcionará sin una configuración adicional.

nota

En el YAML código siguiente, puede omitir las Connections: secciones si lo desea. Si omite estas secciones, debe asegurarse de que la función especificada en el campo IAMFunción predeterminada de su entorno incluya los permisos y las políticas de confianza que requieren las acciones de la pila de AWS Lambda invocación e implementación AWS CloudFormation . Para obtener más información sobre la configuración de un entorno con un IAM rol predeterminado, consulte. Creación de un entorno Para obtener más información sobre los permisos y las políticas de confianza que requieren las acciones de AWS CloudFormation pila AWS Lambda invoke e Deploy, consulte la descripción de la Role propiedad en los campos acción de «AWS Lambda invocar» YAML yAcción «Desplegar AWS CloudFormation pila» 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