Utilización de AWS Lambda con otros servicios
AWS Lambda se integra con otros servicios de AWS para invocar funciones o realizar otras acciones. A continuación se indican algunos casos de uso comunes:
-
Invocar una función en respuesta a eventos del ciclo de vida de un recurso, como con Amazon Simple Storage Service (Amazon S3). Para obtener más información, consulte Uso de AWS Lambda con Amazon S3.
-
Responder a las solicitudes HTTP entrantes. Para obtener más información, consulte Tutorial: Uso de Lambda con API Gateway.
-
Consumir eventos de una cola. Para obtener más información, consulte Uso de Lambda con Amazon SQS.
-
Ejecutar una función según una programación. Para obtener más información, consulte Uso de AWS Lambda con Amazon EventBridge (CloudWatch Events).
En función del servicio que esté utilizando con Lambda, la invocación generalmente puede funcionar de dos maneras. Un evento impulsa la invocación o Lambda sondea una cola o un flujo de datos e invoca la función en respuesta a la actividad de la cola o el flujo de datos. Lambda se integra con Amazon Elastic File System y AWS X-Ray de una forma que no implica invocar funciones.
Para obtener más información, consulte Invocación basada en eventos y Sondeo de Lambda. También puede buscar el servicio con el que desea trabajar en la sección siguiente para encontrar un enlace a información sobre el uso de ese servicio con Lambda.
Lista de servicios y enlaces a más información
Busque el servicio con el que desea trabajar en la tabla siguiente para determinar qué método de invocación debe utilizar. Siga el enlace del nombre del servicio para encontrar información sobre cómo configurar la integración entre los servicios. En estos temas también se incluyen eventos de ejemplo que puede utilizar para probar la función.
Las entradas de esta tabla se presentan en orden alfabético según el nombre del servicio, excepto el prefijo “AWS” o “Amazon”. También puede utilizar la funcionalidad de búsqueda de su navegador para encontrar el servicio en la lista.
Servicio | Método de invocación |
---|---|
Invocación síncrona basada en eventos |
|
Sondeo de Lambda |
|
Sondeo de Lambda |
|
Invocación síncrona basada en eventos |
|
Invocación asíncrona basada en eventos |
|
Invocación síncrona basada en eventos |
|
Invocación asíncrona basada en eventos |
|
Invocación asíncrona basada en eventos |
|
Invocación asíncrona basada en eventos |
|
Invocación asíncrona basada en eventos |
|
Invocación síncrona basada en eventos |
|
Invocación asíncrona basada en eventos |
|
Invocación síncrona basada en eventos |
|
Sondeo de Lambda |
|
Integración especial |
|
Elastic Load Balancing (Equilibrador de carga de aplicación) |
Invocación síncrona basada en eventos |
Invocación asíncrona basada en eventos |
|
Invocación asíncrona basada en eventos |
|
Sondeo de Lambda |
|
Invocación síncrona basada en eventos |
|
Invocación síncrona basada en eventos |
|
Sondeo de Lambda |
|
Invocación asíncrona basada en eventos |
|
Invocación asíncrona basada en eventos |
|
Sondeo de Lambda |
|
Invocación asíncrona basada en eventos |
|
Invocación síncrona basada en eventos |
|
Invocación síncrona basada en eventos |
|
Integración especial |
Invocación basada en eventos
Algunos servicios generan eventos que pueden invocar su función de Lambda. Para obtener más información acerca del diseño de estos tipos de arquitecturas, consulte Arquitecturas controladas por eventos en la Guía del operador de Lambda.
Cuando implementa una arquitectura basada en eventos, concede permiso al servicio de generación de eventos para invocar la función en su política basada en recursos. A continuación, configure ese servicio para generar eventos que invoquen su función.
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.
Lambda convierte el documento de evento en un objeto y se lo pasa al controlador de la función. Para los lenguajes compilados, Lambda proporciona las definiciones de los tipos de eventos en una biblioteca. Para obtener más información, consulte el tema sobre la creación de funciones con su lenguaje: Creación de funciones Lambda con C#, Creación de funciones de Lambda con Go, Creación de funciones de Lambda con Java o Creación de funciones de Lambda con PowerShell.
En función del servicio, la invocación basada en eventos puede ser síncrona o asíncrona.
-
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 obtener más información, consulte Invocación síncrona.
-
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. Para obtener más información, consulte Invocación asincrónica.
Para obtener más información sobre cómo Lambda administra el control de errores de las funciones invocadas de forma síncrona y asíncrona, consulte Control de errores y reintentos automáticos en AWS Lambda.
Sondeo de Lambda
En el caso de los servicios que generan una cola o un flujo de datos, configure un mapeo de fuentes de eventos en Lambda para que sondee la cola o el flujo de datos.
Cuando implementa una arquitectura de sondeo de Lambda, concede permiso a Lambda para acceder al otro servicio en el rol de ejecución de la función. Lambda lee datos del otro servicio, crea un evento e invoca su función.