No tienes acceso a esta clase

¡Continúa aprendiendo! Únete y comienza a potenciar tu carrera

Curso de Amazon DynamoDB

Curso de Amazon DynamoDB

Vianel Rodríguez

Vianel Rodríguez

DynamoDB Streams

16/23
Recursos

Aportes 6

Preguntas 0

Ordenar por:

¿Quieres ver más aportes, preguntas y respuestas de la comunidad?

En DynamoDB, un stream es un registro cronológico y ordenado de las modificaciones que se han realizado en una tabla. Cada vez que se realiza una modificación en los datos de una tabla de DynamoDB, como agregar, actualizar o eliminar elementos, se registra un evento en el stream asociado a esa tabla.

Los streams son útiles para monitorear los cambios en los datos de la tabla, para replicar los cambios en tiempo real en otras tablas o bases de datos, y para mantener el historial de versiones de los datos de la tabla.

Los streams se pueden habilitar en cualquier tabla de DynamoDB, y se pueden configurar para incluir solo los cambios en determinados atributos o para incluir toda la información de la fila modificada. Además, se pueden leer a través de la API de DynamoDB Streams o se pueden configurar para enviar eventos a otros servicios de AWS como AWS Lambda o Amazon Kinesis.

**DynamoDB Streams** En DynamoDB, un **stream** **es un registro cronológico y ordenado de las modificaciones que se han realizado en una tabla**. Cada vez que se realiza una modificación en los datos de una tabla de DynamoDB, como **agregar**, **actualizar** o **eliminar** elementos, se registra un **evento** en el **stream** asociado a esa tabla. Los streams son útiles para: * Monitorear los cambios en los datos de la tabla. * Replicar los cambios en tiempo real en otras tablas o bases de datos. * Mantener el historial de versiones de los datos de la tabla. Los streams se pueden habilitar en cualquier tabla de DynamoDB, y se pueden configurar para incluir solo los cambios en determinados atributos o para incluir toda la información de la fila modificada. Además, se pueden leer a través de la API de DynamoDB Streams o se pueden configurar para enviar eventos a otros servicios de AWS como **AWS Lambda** o **Amazon Kinesis**. **Características** * Son guardados hasta 24hs. * Usan FIFO (First In, First Out, en español Primero en Entrar, Primero en Salir) * Son Near Real Time, a penas sucede el evento, luego de unos microsegundos son enviados a los streams. * Las operaciones que no cambian el registro son ignoradas, es decir, si no se actualiza, inserta o se elimina son completamente ignoradas. **Servicios integrados** * **S3**: Es un servicio de almacenamiento que ofrece AWS donde se pueden almacenar archivos. A partir de los streams se pueden generar archivos en S3 y tenerlos ahí de backup. * **Kinesis**: Es un intermediario donde se pueden enviar los eventos ahí, esto va a ser otra cola donde puedes integrar otros servicios. * **Lambda**: Son una forma de ejecutar código sin tener que aprovisionar ni administrar servidores. Aquí se capturan los eventos, se procesan desde otro servicio.
Dejo el código de la función por si lo necesitan: ```python def dynamodb_events(event, context): try: for record in event["Records"]: if record["eventName"] == "INSERT": manejar_insert(record) if record["eventName"] == "MODIFY": manejar_update(record) if record["eventName"] == "REMOVE": manejar_delete(record) except Exception as e: print(e) return "Error" return "Lo hicimos" def manejar_insert(record): print("Llego envento insert") print(record) def manejar_update(record): print("Llego envento update") print(record) def manejar_delete(record): print("Llego envento delete") print(record) ```

la vinculación entre la tabla de dynamo y la función lambda también se puede hacer desde el menú de opciones de lambda

Importante:

  • Los streams son guardados hasta 24 horas
  • Usan FIFO (tipo cola)
  • Son Near Real Time
  • Las acciones que no cambian son ignoradas

En Amazon DynamoDB, un stream es un registro ordenado y duradero de las modificaciones realizadas en una tabla. Cada vez que se realiza una operación de escritura en una tabla de DynamoDB, se puede configurar un stream para que capture los detalles de esa operación, incluyendo el contenido antiguo y nuevo del elemento que se ha modificado.

Los streams de DynamoDB se utilizan comúnmente para habilitar la replicación de datos en tiempo real, para realizar análisis en tiempo real de los cambios en los datos, o para disparar eventos en función de las actualizaciones de la tabla. Los streams también se pueden utilizar para recuperar un historial completo de las modificaciones realizadas en una tabla, lo que puede ser útil para realizar auditorías o para la recuperación ante desastres.

Existen dos tipos de streams en DynamoDB: streams de nuevo imagen y streams de vieja imagen. Los streams de nuevo imagen incluyen el registro completo del elemento que se ha modificado, mientras que los streams de vieja imagen incluyen sólo el contenido antiguo del elemento. Los streams se pueden habilitar y configurar en una tabla de DynamoDB a través de la consola de administración de AWS, la CLI de AWS o las API de AWS.