¿Cómo puedo capturar eventos de transmisión de tablas globales de Amazon DynamoDB con AWS Lambda?

2 minutos de lectura
0

Quiero crear un desencadenador de AWS Lambda para procesar una transmisión de una tabla global de Amazon DynamoDB.

Resolución

Una tabla global de DynamoDB es un conjunto de réplicas en distintas regiones en una sola cuenta. Las tablas globales utilizan DynamoDB Streams para replicar datos en diferentes regiones. Al crear una réplica para una tabla global, se crea una transmisión de forma predeterminada. Los cambios en una réplica se replican en todas las demás réplicas de la misma tabla global en un segundo mediante DynamoDB Streams.

Nota: Tener un único consumidor en cualquiera de las réplicas de tablas globales de cualquier región es suficiente para recuperar los registros de modificación de todos los elementos.

Puede configurar un desencadenador de AWS Lambda para procesar una transmisión de una réplica de tabla global si sigue los siguientes pasos:

  1. Asegúrese de que AWSLambdaDynamoDBExecutionRole tenga los permisos de AWS Identity and Access Management (IAM) necesarios.
    Nota: La política de IAM AWSLambdaDynamoDBExecutionRole no tiene permisos para que Lambda se comunique con otros servicios, como Amazon Simple Notification Service (Amazon SNS), de forma predeterminada. Esto significa que debe agregar los permisos adicionales necesarios en función del destino de Lambda.
  2. Cree una función Lambda mediante el esquema dynamodb-process-stream. Puede modificar el código Lambda de acuerdo con sus requisitos para procesar los datos de la transmisión.
  3. Tras crear correctamente la función de Lambda, abra la consola de DynamoDB y seleccione la réplica de tabla global. En la pestaña Exports and streams (Exportaciones y transmisiones), seleccione Create trigger (Crear desencadenador). A continuación, seleccione la función Lambda que creó en el paso anterior. Asegúrese de seleccionar Enable trigger (Habilitar desencadenador) para que el desencadenador se active después de crearlo.

La función de Lambda ahora está configurada como desencadenador para la réplica de tabla global. La transmisión captura cualquier cambio en la réplica y se invoca el desencadenador.


Información relacionada

DynamoDB Streams and AWS Lambda triggers (Desencadenadores de DynamoDB Streams y AWS Lambda)

OFICIAL DE AWS
OFICIAL DE AWSActualizada hace 2 años