CursosEmpresasBlogLiveConfPrecios

DynamoDB Streams

Clase 16 de 23 • Curso de Amazon DynamoDB

Clase anteriorSiguiente clase

Contenido del curso

Introduccion a bases de datos con AWS
  • 1
    Bienvenida a DynamoDB

    Bienvenida a DynamoDB

    02:47
  • 2
    ¿Qué es una base de datos?

    ¿Qué es una base de datos?

    04:44
  • 3
    Amazon DynamoDB

    Amazon DynamoDB

    04:46
El núcleo de DynamoDB
  • 4
    Crear una tabla en DynamoDB: primary keys

    Crear una tabla en DynamoDB: primary keys

    09:40
  • 5
    Hot partitions

    Hot partitions

    06:46
  • 6
    Usuarios y permisos IAM en DynamoDB

    Usuarios y permisos IAM en DynamoDB

    08:50
  • 7
    Instalación de SDK y AWS CLI

    Instalación de SDK y AWS CLI

    08:07
  • 8
    Crear tablas y cargar datos en DynamoDB

    Crear tablas y cargar datos en DynamoDB

    16:18
  • 9
    Consultar y eliminar tablas en DynamoDB

    Consultar y eliminar tablas en DynamoDB

    11:46
  • 10
    Índices locales

    Índices locales

    13:36
  • 11
    Consultas con índices locales

    Consultas con índices locales

    06:05
  • 12
    Índices globales

    Índices globales

    07:58
  • 13
    Unidades de lectura y escritura

    Unidades de lectura y escritura

    05:46
Integrando DynamoDB en AWS
  • 14
    SDK y DynamoDB

    SDK y DynamoDB

    08:16
  • 15
    Creación de AWS Lambda

    Creación de AWS Lambda

    07:48
  • 16
    DynamoDB Streams

    DynamoDB Streams

    13:49
  • 17
    Integrar API Gateway con DynamoDB

    Integrar API Gateway con DynamoDB

    15:58
  • 18
    Casos de uso de DynamoDB

    Casos de uso de DynamoDB

    03:31
  • 19
    Exportación de datos a S3

    Exportación de datos a S3

    04:59
Soporte a DynamoDB
  • 20
    Monitoreo de DynamoDB con CloudWatch

    Monitoreo de DynamoDB con CloudWatch

    05:50
  • 21
    Mantenimiento

    Mantenimiento

    05:29
  • 22
    Escalabilidad

    Escalabilidad

    05:33
Cierre
  • 23
    Conclusión

    Conclusión

    01:18
    Gerardo Ferreyra

    Gerardo Ferreyra

    student•
    hace 2 años

    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.
    Mario Alexander Vargas Celis

    Mario Alexander Vargas Celis

    student•
    hace 6 meses

    🔄 DynamoDB Streams: Explicación Clara y Directa

    DynamoDB Streams es una característica de Amazon DynamoDB que permite capturar cambios (inserciones, actualizaciones y eliminaciones) en una tabla de DynamoDB en tiempo real.

    📌 ¿Para qué sirve?

    Con DynamoDB Streams puedes:

    • Disparar funciones Lambda automáticamente cuando los datos cambian.
    • Sincronizar datos con otros servicios o bases de datos.
    • Auditar cambios.
    • Implementar replicación entre regiones.

    🧠 ¿Qué contiene un stream?

    Cada registro en el stream puede contener:

    • El elemento anterior (old image)
    • El elemento nuevo (new image)
    • Ambas imágenes
    • Solo las claves modificadas

    Esto depende de la configuración que elijas al habilitar el stream.

    ⚙️ ¿Cómo habilitar DynamoDB Streams?

    Puedes hacerlo al crear o actualizar una tabla:

    aws dynamodb update-table \ --table-name NombreDeTuTabla \ --stream-specification StreamEnabled=true,StreamViewType=NEW_AND_OLD_IMAGES

    Tipos de StreamViewType:

    • KEYS_ONLY: solo claves primarias
    • NEW_IMAGE: solo la nueva versión
    • OLD_IMAGE: solo la versión anterior
    • NEW_AND_OLD_IMAGES: ambas versiones

    🚀 Conectar Streams a Lambda

    1. Crea la función Lambda.
    2. Asóciala al stream de la tabla:

    aws lambda create-event-source-mapping \ --function-name lambda-export \ --event-source-arn arn:aws:dynamodb:REGION:ACCOUNT_ID:table/TuTabla/stream/FECHA \ --starting-position LATEST

    📥 Ejemplo de evento recibido por Lambda

    { "Records": [ { "eventID": "1", "eventName": "INSERT", "dynamodb": { "Keys": { "ID": { "S": "123" } }, "NewImage": { "ID": { "S": "123" }, "Nombre": { "S": "Mario" } } }, "eventSource": "aws:dynamodb" } ] }

    Juan Camilo Salazar Serna

    Juan Camilo Salazar Serna

    student•
    hace un año

    Dejo el código de la función por si lo necesitan:

    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)
    JUAN PABLO MAYORGA MENDIETA

    JUAN PABLO MAYORGA MENDIETA

    student•
    hace 3 años

    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

    Andres Gonzalez

    Andres Gonzalez

    student•
    hace 8 meses

    Me aparece este error al entrar a ver kis regustris del CloudWatch, sera que hice algo incorrecto?

      Fredy Alexander Caballero Quintero

      Fredy Alexander Caballero Quintero

      student•
      hace 7 meses

      me paso igual solo cree un grupo de registro y se soluciono

      Omar Melendez Lopez

      Omar Melendez Lopez

      student•
      hace 6 meses

      debes crear el log group que se llame igual al que aparece en el alert banner, el nombre seria - /aws/lambda/lambda-export al usar CLI cuando se creo la lambda muchas veces hay que crear los logs con otro comando de awscli por separado

    ANDRES ALFONSO MIRA MEJIA

    ANDRES ALFONSO MIRA MEJIA

    student•
    hace 7 meses

    ✅

    Gryffindor

    Gryffindor

    student•
    hace 2 años

    Importante:

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

    JUAN PABLO MAYORGA MENDIETA

    student•
    hace 3 años

    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.

Escuelas

  • Desarrollo Web
    • Fundamentos del Desarrollo Web Profesional
    • Diseño y Desarrollo Frontend
    • Desarrollo Frontend con JavaScript
    • Desarrollo Frontend con Vue.js
    • Desarrollo Frontend con Angular
    • Desarrollo Frontend con React.js
    • Desarrollo Backend con Node.js
    • Desarrollo Backend con Python
    • Desarrollo Backend con Java
    • Desarrollo Backend con PHP
    • Desarrollo Backend con Ruby
    • Bases de Datos para Web
    • Seguridad Web & API
    • Testing Automatizado y QA para Web
    • Arquitecturas Web Modernas y Escalabilidad
    • DevOps y Cloud para Desarrolladores Web
  • English Academy
    • Inglés Básico A1
    • Inglés Básico A2
    • Inglés Intermedio B1
    • Inglés Intermedio Alto B2
    • Inglés Avanzado C1
    • Inglés para Propósitos Específicos
    • Inglés de Negocios
  • Marketing Digital
    • Fundamentos de Marketing Digital
    • Marketing de Contenidos y Redacción Persuasiva
    • SEO y Posicionamiento Web
    • Social Media Marketing y Community Management
    • Publicidad Digital y Paid Media
    • Analítica Digital y Optimización (CRO)
    • Estrategia de Marketing y Growth
    • Marketing de Marca y Comunicación Estratégica
    • Marketing para E-commerce
    • Marketing B2B
    • Inteligencia Artificial Aplicada al Marketing
    • Automatización del Marketing
    • Marca Personal y Marketing Freelance
    • Ventas y Experiencia del Cliente
    • Creación de Contenido para Redes Sociales
  • Inteligencia Artificial y Data Science
    • Fundamentos de Data Science y AI
    • Análisis y Visualización de Datos
    • Machine Learning y Deep Learning
    • Data Engineer
    • Inteligencia Artificial para la Productividad
    • Desarrollo de Aplicaciones con IA
    • AI Software Engineer
  • Ciberseguridad
    • Fundamentos de Ciberseguridad
    • Hacking Ético y Pentesting (Red Team)
    • Análisis de Malware e Ingeniería Forense
    • Seguridad Defensiva y Cumplimiento (Blue Team)
    • Ciberseguridad Estratégica
  • Liderazgo y Habilidades Blandas
    • Fundamentos de Habilidades Profesionales
    • Liderazgo y Gestión de Equipos
    • Comunicación Avanzada y Oratoria
    • Negociación y Resolución de Conflictos
    • Inteligencia Emocional y Autogestión
    • Productividad y Herramientas Digitales
    • Gestión de Proyectos y Metodologías Ágiles
    • Desarrollo de Carrera y Marca Personal
    • Diversidad, Inclusión y Entorno Laboral Saludable
    • Filosofía y Estrategia para Líderes
  • Diseño de Producto y UX
    • Fundamentos de Diseño UX/UI
    • Investigación de Usuarios (UX Research)
    • Arquitectura de Información y Usabilidad
    • Diseño de Interfaces y Prototipado (UI Design)
    • Sistemas de Diseño y DesignOps
    • Redacción UX (UX Writing)
    • Creatividad e Innovación en Diseño
    • Diseño Accesible e Inclusivo
    • Diseño Asistido por Inteligencia Artificial
    • Gestión de Producto y Liderazgo en Diseño
    • Diseño de Interacciones Emergentes (VUI/VR)
    • Desarrollo Web para Diseñadores
    • Diseño y Prototipado No-Code
  • Contenido Audiovisual
    • Fundamentos de Producción Audiovisual
    • Producción de Video para Plataformas Digitales
    • Producción de Audio y Podcast
    • Fotografía y Diseño Gráfico para Contenido Digital
    • Motion Graphics y Animación
    • Contenido Interactivo y Realidad Aumentada
    • Estrategia, Marketing y Monetización de Contenidos
  • Desarrollo Móvil
    • Fundamentos de Desarrollo Móvil
    • Desarrollo Nativo Android con Kotlin
    • Desarrollo Nativo iOS con Swift
    • Desarrollo Multiplataforma con React Native
    • Desarrollo Multiplataforma con Flutter
    • Arquitectura y Patrones de Diseño Móvil
    • Integración de APIs y Persistencia Móvil
    • Testing y Despliegue en Móvil
    • Diseño UX/UI para Móviles
  • Diseño Gráfico y Arte Digital
    • Fundamentos del Diseño Gráfico y Digital
    • Diseño de Identidad Visual y Branding
    • Ilustración Digital y Arte Conceptual
    • Diseño Editorial y de Empaques
    • Motion Graphics y Animación 3D
    • Diseño Gráfico Asistido por Inteligencia Artificial
    • Creatividad e Innovación en Diseño
  • Programación
    • Fundamentos de Programación e Ingeniería de Software
    • Herramientas de IA para el trabajo
    • Matemáticas para Programación
    • Programación con Python
    • Programación con JavaScript
    • Programación con TypeScript
    • Programación Orientada a Objetos con Java
    • Desarrollo con C# y .NET
    • Programación con PHP
    • Programación con Go y Rust
    • Programación Móvil con Swift y Kotlin
    • Programación con C y C++
    • Administración Básica de Servidores Linux
  • Negocios
    • Fundamentos de Negocios y Emprendimiento
    • Estrategia y Crecimiento Empresarial
    • Finanzas Personales y Corporativas
    • Inversión en Mercados Financieros
    • Ventas, CRM y Experiencia del Cliente
    • Operaciones, Logística y E-commerce
    • Gestión de Proyectos y Metodologías Ágiles
    • Aspectos Legales y Cumplimiento
    • Habilidades Directivas y Crecimiento Profesional
    • Diversidad e Inclusión en el Entorno Laboral
    • Herramientas Digitales y Automatización para Negocios
  • Blockchain y Web3
    • Fundamentos de Blockchain y Web3
    • Desarrollo de Smart Contracts y dApps
    • Finanzas Descentralizadas (DeFi)
    • NFTs y Economía de Creadores
    • Seguridad Blockchain
    • Ecosistemas Blockchain Alternativos (No-EVM)
    • Producto, Marketing y Legal en Web3
  • Recursos Humanos
    • Fundamentos y Cultura Organizacional en RRHH
    • Atracción y Selección de Talento
    • Cultura y Employee Experience
    • Gestión y Desarrollo de Talento
    • Desarrollo y Evaluación de Liderazgo
    • Diversidad, Equidad e Inclusión
    • AI y Automatización en Recursos Humanos
    • Tecnología y Automatización en RRHH
  • Finanzas e Inversiones
    • Fundamentos de Finanzas Personales y Corporativas
    • Análisis y Valoración Financiera
    • Inversión y Mercados de Capitales
    • Finanzas Descentralizadas (DeFi) y Criptoactivos
    • Finanzas y Estrategia para Startups
    • Inteligencia Artificial Aplicada a Finanzas
    • Domina Excel
    • Financial Analyst
    • Conseguir trabajo en Finanzas e Inversiones
  • Startups
    • Fundamentos y Validación de Ideas
    • Estrategia de Negocio y Product-Market Fit
    • Desarrollo de Producto y Operaciones Lean
    • Finanzas, Legal y Fundraising
    • Marketing, Ventas y Growth para Startups
    • Cultura, Talento y Liderazgo
    • Finanzas y Operaciones en Ecommerce
    • Startups Web3 y Blockchain
    • Startups con Impacto Social
    • Expansión y Ecosistema Startup
  • Cloud Computing y DevOps
    • Fundamentos de Cloud y DevOps
    • Administración de Servidores Linux
    • Contenerización y Orquestación
    • Infraestructura como Código (IaC) y CI/CD
    • Amazon Web Services
    • Microsoft Azure
    • Serverless y Observabilidad
    • Certificaciones Cloud (Preparación)
    • Plataforma Cloud GCP

Platzi y comunidad

  • Platzi Business
  • Live Classes
  • Lanzamientos
  • Executive Program
  • Trabaja con nosotros
  • Podcast

Recursos

  • Manual de Marca

Soporte

  • Preguntas Frecuentes
  • Contáctanos

Legal

  • Términos y Condiciones
  • Privacidad
  • Tyc promociones
Reconocimientos
Reconocimientos
Logo reconocimientoTop 40 Mejores EdTech del mundo · 2024
Logo reconocimientoPrimera Startup Latina admitida en YC · 2014
Logo reconocimientoPrimera Startup EdTech · 2018
Logo reconocimientoCEO Ganador Medalla por la Educación T4 & HP · 2024
Logo reconocimientoCEO Mejor Emprendedor del año · 2024
De LATAM conpara el mundo
YoutubeInstagramLinkedInTikTokFacebookX (Twitter)Threads