Invocar Lambda con eventos de otros servicios de AWS - AWS Lambda

Invocar Lambda con eventos de otros servicios de AWS

Algunos servicios de AWS pueden invocar directamente las funciones de Lambda mediante desencadenadores. Estos servicios envían eventos a Lambda y la función se invoca inmediatamente cuando se produce el evento especificado. Los desencadenadores son adecuados para eventos discretos y para el procesamiento en tiempo real. Al crear un desencadenador mediante la consola de Lambda, esta interactúa con el servicio de AWS correspondiente para configurar la notificación de eventos en ese servicio. En realidad, el servicio que genera los eventos es el que almacena y administra el desencadenador, no Lambda.

Los eventos son datos estructurados en formato JSON. La estructura JSON varía según el servicio que la genera y el tipo de evento, pero todas contienen los datos que la función necesita para procesar el evento.

Una función puede tener varios desencadenadores. Cada desencadenador actúa como un cliente que invoca su función de manera independiente, y cada evento que Lambda envía a su función tiene datos de un solo desencadenador. Lambda convierte el documento de evento en un objeto y se lo pasa al controlador de la función.

La invocación basada en eventos puede ser sinrónica o asincrónica, en función del servicio.

  • Para la invocación síncrona, el servicio que genera el evento espera la respuesta de la función. Ese servicio define los datos que la función necesita devolver en la respuesta. El servicio controla la estrategia de error, como, por ejemplo, si se debe reintentar en caso de errores.

  • Para la invocación asíncrona, Lambda coloca el evento en la cola antes de pasárselo a la función. Cuando Lambda pone en cola el evento, envía inmediatamente una respuesta de operación correcta al servicio que lo generó. Después de que la función procese el evento, Lambda no devuelve una respuesta al servicio de generación de eventos.

Creación de un desencadenador

La forma más sencilla de crear un desencadenador es utilizar la consola de Lambda. Al crear un desencadenador mediante la consola, Lambda agrega de forma automática los permisos necesarios a la política basada en recursos de la función.

Creación de un desencadenador mediante la consola de Lambda
  1. Abra la página de Funciones en la consola de Lambda.

  2. Seleccione la función para la que desee crear un desencadenador.

  3. En el panel Información general de la función, elija Agregar desencadenador.

  4. Seleccione el servicio de AWS en el que desee invocar su función.

  5. Rellene las opciones del panel Configuración del desencadenador y seleccione Agregar. En función del Servicio de AWS que elija para invocar la función, las opciones de configuración del desencadenador serán diferentes.

En la siguiente tabla se enumeran los servicios que pueden invocar funciones de Lambda.

Servicio Método de invocación

Amazon Alexa

Invocación sincrónica basada en eventos

Amazon Managed Streaming for Apache Kafka

Asignación de orígenes de eventos

Apache Kafka autoadministrado

Asignación de orígenes de eventos

Amazon API Gateway

Invocación síncrona basada en eventos

AWS CloudFormation

Invocación asíncrona basada en eventos

Amazon CloudFront (Lambda@Edge)

Invocación sincrónica basada en eventos

Registros de Amazon CloudWatch

Invocación asíncrona basada en eventos

AWS CodeCommit

Invocación asíncrona basada en eventos

AWS CodePipeline

Invocación asíncrona basada en eventos

Amazon Cognito

Invocación síncrona basada en eventos

AWS Config

Invocación asíncrona basada en eventos

Amazon Connect

Invocación síncrona basada en eventos

Amazon DynamoDB

Asignación de orígenes de eventos

Amazon Elastic File System

Integración especial

Elastic Load Balancing (Equilibrador de carga de aplicación)

Invocación sincrónica basada en eventos

Amazon EventBridge (CloudWatch Events)

Basado en eventos; invocación asíncrona (buses de eventos), invocación asíncrona o sincrónica (canalizaciones y planificaciones)

AWS IoT

Invocación asíncrona basada en eventos

Amazon Kinesis

Asignación de orígenes de eventos

Amazon Data Firehose

Invocación sincrónica basada en eventos

Amazon Lex

Invocación síncrona basada en eventos

Amazon MQ

Asignación de orígenes de eventos

Amazon Simple Email Service

Invocación asíncrona basada en eventos

Amazon Simple Notification Service

Invocación asíncrona basada en eventos

Amazon Simple Queue Service

Asignación de orígenes de eventos

Amazon Simple Storage Service (Amazon S3)

Invocación asíncrona basada en eventos

Amazon Simple Storage Service Batch

Invocación síncrona basada en eventos

Secrets Manager

Invocación sincrónica basada en eventos

Amazon VPC Lattice

Invocación sincrónica basada en eventos

AWS X-Ray

Integración especial