Proceso de registros de DynamoDB con Lambda - AWS Lambda

Proceso de registros de DynamoDB con Lambda

Cree una asignación de orígenes de eventos para indicar a Lambda que envíe registros desde un flujo a una función de Lambda. Puede crear varias asignaciones de orígenes de eventos para procesar los mismos datos con distintas funciones de Lambda o para procesar elementos de varios flujos con una sola función.

Puede configurar las asignaciones de orígenes de eventos para procesar los registros de un flujo en una Cuenta de AWS diferente. Para obtener más información, consulte Creación de asignaciones de orígenes de eventos entre cuentas.

Para configurar la función para que lea desde el flujo de DynamoDB, adjunte la política administrada de AWS AWSLambdaDynamoDBExecutionRole al rol de ejecución y, a continuación, cree un desencadenador de DynamoDB.

Cómo agregar permisos y crear un desencadenador
  1. Abra la página de Funciones en la consola de Lambda.

  2. Elija el nombre de una función.

  3. Elija la pestaña Configuración y, a continuación, elija Permisos.

  4. En Nombre del rol, elija el enlace al rol de ejecución. Este enlace abre el rol en la consola de IAM.

    Enlace al rol de ejecución
  5. Elija Agregar permisos y luego Adjuntar políticas.

    Políticas adjuntas a la consola de IAM
  6. En el campo de búsqueda, escriba AWSLambdaDynamoDBExecutionRole. Agregue esta política al rol de ejecución. Se trata de una política administrada por AWS que contiene los permisos que la función necesita para leer desde un flujo de DynamoDB. Para obtener más información acerca de esta política, consulte AWSLambdaDynamoDBExecutionRole en la Referencia de políticas administradas de AWS.

  7. Regrese a la función en la consola de Lambda. En Descripción general de la función, elija Agregar desencadenador.

    Sección de descripción general de la consola de Lambda
  8. Elija un tipo de desencadenador.

  9. Configure las opciones requeridas y luego elija Add (Agregar).

Lambda admite las siguientes opciones para los orígenes de eventos de DynamoDB:

Opciones de origen de eventos
  • Tabla DynamoDB: la tabla de DynamoDB de la que leer registros.

  • Tamaño del lote: número de registros que se enviarán a la función en cada lote, hasta 10 000. Lambda pasa todos los registros del lote a la función en una sola llamada, siempre y cuando el tamaño total de los eventos no exceda el límite de carga para la invocación síncrona (6 MB).

  • Ventana de lote: especifique la cantidad de tiempo máxima para recopilar registros antes de invocar la función, en segundos.

  • Posición inicial: procesar solo los registros nuevos o todos los registros existentes.

    • Más recientes: procesar los registros nuevos que se agreguen al flujo principal.

    • Horizonte de supresión: procesar todos los registros del flujo.

    Tras procesar cualquier registro existente, la función es alcanzada y continúa procesando registros nuevos.

  • Destino en caso de error: una cola de SQS estándar o un tema de SNS estándar para los registros que no se puedan procesar. Cuando Lambda descarta un lote de registros demasiado antiguo o que ha agotado todos los reintentos, Lambda envía detalles sobre el lote a la cola o al tema.

  • Número de reintentos: número máximo de reintentos que Lambda realiza cuando la función devuelve un error. Esto no se aplica a errores de servicio o limitaciones controladas en los que el lote no alcanzó la función.

  • Edad máxima de registro: antigüedad máxima de un registro que Lambda envía a su función.

  • División del lote en caso de error: cuando la función devuelve un error, divida el lote en dos antes de volver a intentarlo. La configuración de tamaño de lote original permanece sin cambios.

  • Lotes simultáneos por partición: procese simultáneamente varios lotes desde la misma partición.

  • Habilitado: establézcalo en verdadero para habilitar la asignación de orígenes de eventos. Establézcalo en falso para detener el procesamiento de registros. Lambda toma nota del último registro procesado y sigue procesando desde ese punto cuando se habilita de nuevo el mapeo.

nota

No se cobran las llamadas a la API GetRecords invocadas por Lambda como parte de los desencadenadores de DynamoDB.

Para administrar la configuración de origen de evento más tarde, elija el desencadenador en el diseñador.

Creación de asignaciones de orígenes de eventos entre cuentas

Ahora Amazon DynamoDB admite las políticas basadas en recursos. Con esta capacidad, puede procesar los datos de un flujo de DynamoDB en una Cuenta de AWS con una función de Lambda en otra cuenta.

Para crear una asignación de orígenes de eventos para la función de Lambda mediante un flujo de DynamoDB en otra Cuenta de AWS, debe configurar el flujo mediante una política basada en recursos para conceder a la función de Lambda permiso para leer registros. Para obtener información sobre cómo configurar el flujo para permitir el acceso entre cuentas, consulte Acceso compartido con funciones de Lambda entre cuentas en la Guía para desarrolladores de Amazon DynamoDB.

Una vez que haya configurado el flujo con una política basada en recursos que otorgue a la función de Lambda los permisos necesarios, cree la asignación de orígenes de eventos con el ARN del flujo entre cuentas. Puede encontrar el ARN del flujo en la pestaña Exportaciones y flujos de la tabla de la consola de DynamoDB entre cuentas.

Cuando utilice la consola de Lambda, pegue el ARN del flujo directamente en el campo de entrada de la tabla de DynamoDB en la página de creación de asignaciones de orígenes de eventos.

Nota: No se admiten los activadores entre regiones.