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.
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
Abra la página de Funciones
en la consola de Lambda. -
Elija el nombre de una función.
-
Elija la pestaña Configuración y, a continuación, elija Permisos.
-
En Nombre del rol, elija el enlace al rol de ejecución. Este enlace abre el rol en la consola de IAM.
-
Elija Agregar permisos y luego Adjuntar políticas.
-
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. -
Regrese a la función en la consola de Lambda. En Descripción general de la función, elija Agregar desencadenador.
-
Elija un tipo de desencadenador.
-
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.