Las secuencias de DynamodB son una característica del servicio de base de datos de DyNAMODB de AWS que proporciona una secuencia de cambios de datos ordenada por tiempo que se realizan en una tabla. Puede habilitar las transmisiones de AWS DynamoDB en una tabla para capturar automáticamente datos nuevos o antiguos. Por supuesto, también puedes configurarlo para capturar ambos.
En particular, las transmisiones pueden activar las tuberías de datos en tiempo real, lo que permite que las aplicaciones reaccionen a los cambios en los datos en segundos en segundos. Además, las transmisiones pueden ayudar a construir las aplicaciones que responden a los cambios en los datos activando las acciones correspondientes, como actualizar otros datos en la tabla o activar los servicios externos.
Los datos están disponibles en la transmisión durante 24 horas por defecto. Sin embargo, puede personalizar el período de retención de datos para satisfacer sus necesidades.
Casos de uso comunes para transmisiones de DynamodB
Algunos de los casos de uso cotidiano para las transmisiones de DynamodB incluyen lo siguiente:
Guía paso a paso sobre cómo habilitar y usar secuencias de Dynamodb
Existen varios métodos para habilitar las transmisiones de DynamodB en sus tablas. Los métodos más comunes incluyen lo siguiente:
Habilitar transmisiones de DynamodB usando la llamada API CreateTable
En particular, puede habilitar las secuencias de DynamodB usando la llamada API CreateTable usando el siguiente comando:
AWS Dynamodb Create-Table \
--nombre de la tabla \
--Atributo-definiciones \
--Key-Schema \
--provisión de rendimiento \
--stream-especificación streamEnabled = true, streamViewType =
Habilitar las transmisiones de DynamodB con la llamada API actualizable
La siguiente sintaxis ilustra cómo puede habilitar las transmisiones utilizando la llamada API de actualización:
AWS Dynamodb Update-Table \
--nombre de la tabla \
--stream-especificación streamEnabled = true, streamViewType =
Una vez que haya habilitado con éxito su transmisión, continúe con la llamada de la API DescribeStream para recuperar el ARN de la transmisión y otros detalles:
AWS Dynamodb describe la transmisión \
--nombre de la tabla
También puede usar la llamada de la API GetShardIterator para obtener un iterador de fragmentos. Un iterador de fragmentos lee los datos de su transmisión. La sintaxis es la siguiente:
AWS Dynamodb Get-Shard-iterator \
--nombre de la tabla\
--idiota\
--tipo de fragmento
Finalmente, use el iterador de fragmentos junto con la llamada de la API de GetRecords para leer todos los registros de su transmisión. La siguiente sintaxis ayudará:
AWS Dynamodb Get-Records \
--fragmento-iterator
En particular, la sintaxis anterior es para la AWS CLI, pero hay comandos similares disponibles para los SDK de AWS en diferentes lenguajes de programación.
Usando transmisiones DynamodB con la función Lambda
Una vez que habilite las secuencias de DynamodB en su base de datos, puede configurarlo para usar la función Lambda. Los siguientes pasos deberían ayudar:
Paso 1: Comience creando una función Lambda que los registros de flujo que se capturan por DynamodB Streams activarán. Su función Lambda debe contener el código para procesar los registros de transmisión y realizar cualquier acción que pueda solicitar.
Paso 2: Cree un papel IAM que otorgue a la función Lambda los permisos apropiados para acceder a los registros de transmisión. Adjunte este papel de IAM a la función Lambda.
Paso 3: Configure la transmisión DynamodB para activar la función Lambda siempre que estén disponibles nuevos registros de transmisión.
Una vez que se completen estos pasos, las secuencias de DynamodB comenzarán a capturar los eventos de modificación de datos para la tabla DynamodB especificada y activarán la función Lambda para procesar los registros de transmisión. La función Lambda puede realizar cualquier acción que establezca en su código.
Conclusión
Las transmisiones de Dynamodb se destacan como un servicio totalmente administrado con excelentes beneficios. Le permite capturar y procesar los eventos de modificación de datos en tiempo real. Por supuesto, puede usar los datos para construir las aplicaciones que reaccionan a los cambios en los datos a medida que ocurren en lugar de tener que encuestar los cambios periódicamente.