Invocación de funciones de Lambda - AWS Lambda

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.

Invocación de funciones de Lambda

Puede invocar funciones de Lambda directamente con la consola de Lambda, un punto de conexión HTTP(S) para la URL de función, la API de Lambda, un SDK de AWS, la AWS Command Line Interface (AWS CLI) y los kits de herramientas de AWS. También puede configurar otros servicios de AWS para invocar la función en respuesta a eventos o solicitudes externas, o bien, según un cronograma. Por ejemplo, Amazon Simple Storage Service (Amazon S3) puede invocar la función cuando se cree un objeto en un bucket de S3, o bien, Amazon EventBridge (CloudWatch Events) puede invocar la función según un cronograma. También puede configurar Lambda de manera que lea los elementos de un flujo o una cola, e invoque la función para procesarlos.

Al invocar una función, puede optar por invocarla de forma síncrona o asíncrona. Con invocación síncrona, espere la función para procesar el evento y devolver una respuesta. Con invocación asíncrona, Lambda pone en cola el evento para su procesamiento y devuelve una respuesta inmediatamente. Para invocación asíncrona, Lambda gestiona los reintentos y puede enviar registros de invocación a un destino.

Invocación de funciones de Lambda desde otro Servicio de AWS

Para que otro servicio de AWS invoque su función directamente, debe crear un desencadenador. Los desencadenadores son recursos que configura para permitir que otro servicio de AWS invoque su función cuando se produzcan ciertos eventos o condiciones. Su función puede tener varios disparadores. 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.

Puede crear un desencadenador para su función usando la consola de Lambda. También puede configurar otro servicio para que invoque su función mediante la propiedad Events de AWS Serverless Application Model (AWS SAM). Para obtener más información, consulte AWS::Serverless::Function en la Guía para desarrolladores de AWS Serverless Application Model.

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.

Para obtener una lista completa de los servicios de AWS que pueden invocar la función de Lambda mediante un desencadenador y para obtener más información sobre la configuración de los desencadenadores para diferentes servicios, consulte Utilización de Lambda con otros servicios.

Invocación de una función de Lambda desde un flujo o una cola

Para que su función de Lambda procese los elementos de un flujo o una cola, como un flujo de Amazon Kinesis o una cola de Amazon Simple Queue Service (Amazon SQS), debe crear una asignación de orígenes de eventos. La asignación de orígenes de eventos es un recurso de Lambda que lee elementos de un flujo o una cola, y crea eventos que contienen grupos de elementos para enviar a su función de Lambda. Cada evento que su función procesa puede contener cientos o miles de elementos.

Puede crear una asignación de orígenes de eventos para su función de Lambda con la consola de Lambda, la AWS CLI, la API de Lambda o un SDK de AWS. También puede agregar una asignación de orígenes de eventos mediante AWS SAM o AWS CloudFormation. Para crear una asignación de orígenes de eventos en la consola de Lambda, siga las instrucciones para crear un desencadenador en Invocación de funciones de Lambda desde otro Servicio de AWS y seleccione uno de los servicios de AWS que admiten asignaciones de orígenes de eventos como su origen.

Para crear una asignación de orígenes de eventos mediante la AWS CLI, la API de Lambda o un SDK de AWS, y para ver una lista de los servicios de AWS con los que se pueden usar las asignaciones de orígenes de eventos, consulte Asignación de origen de eventos de Lambda. Para obtener más información sobre cómo crear una asignación de orígenes de eventos con la propiedad Events en AWS SAM, consulte AWS::Serverless::Function en la Guía para desarrolladores de AWS Serverless Application Model.

Errores y reintentos

Dependiendo de cómo se invoca la función, pueden variar el comportamiento de escalado y los tipos de errores que ocurran. Al invocar una función sincrónicamente, recibe errores en la respuesta y puede volver a intentarlo. Al invocar de forma asíncrona, utilizar asignación de orígenes de eventos o configurar otro servicio para invocar su función, se observarán diferencias en los requisitos de reintentos y la forma en que la función se escala para tolerar un gran número de eventos. Para obtener más información, consulte Control de errores y reintentos automáticos en AWS Lambda.