Uso de DynamoDB Streams Kinesis Adapter para procesar registros de secuencia - Amazon DynamoDB

Las traducciones son generadas a través de traducción automática. En caso de conflicto entre la traducción y la version original de inglés, prevalecerá la version en inglés.

Uso de DynamoDB Streams Kinesis Adapter para procesar registros de secuencia

Usar Amazon Kinesis Adapter es la forma recomendada de consumir secuencias de Amazon DynamoDB. DynamoDB Streams API de es intencionadamente similar a la de Kinesis Data Streams, un servicio para procesar datos de streaming a escala masiva en tiempo real. En ambos servicios, las secuencias de datos se componen de fragmentos, que son los contenedores de los registros de secuencia. Los API de ambos servicios contienenListStreams,DescribeStream,GetShards, yGetShardIteratorOperaciones. Aunque estas acciones de DynamoDB Streams son parecidas a sus homólogas de Kinesis Data Streams, no son idénticas al 100%.

Puede escribir aplicaciones para Kinesis Data Streams mediante Kinesis Client Library (KCL). KCL simplifica la codificación porque proporciona abstracciones útiles por encima del API de bajo nivel de Kinesis Data Streams. Para obtener más información sobre KCL, consulte laDesarrollo de consumidores mediante Kinesis Client Libraryen laGuía para desarrolladores de Amazon Kinesis Data Streams.

Como usuario de DynamoDB Streams, puede utilizar los patrones de diseño contenidos en KCL para procesar los fragmentos de DynamoDB Streams y los registros de secuencia. Para ello, se utiliza DynamoDB Streams Adapter. Kinesis Adapter implementa la interfaz de Kinesis Data Streams, de tal forma que se pueda usar KCL para consumir y procesar registros desde DynamoDB Streams.

En el siguiente diagrama se muestra cómo interaccionan estas bibliotecas entre sí.

Si DynamoDB Streams Kinesis Adapter está implementado, puede comenzar a desarrollar para la interfaz de KCL y dirigir las llamadas al API de forma transparente al punto de enlace de DynamoDB Streams.

Cuando se inicia la aplicación, llama a KCL para crear una instancia de un proceso de trabajo. Debe proporcionar al programa de trabajo información sobre la configuración de la aplicación, como el descriptor de secuencia yAWSLas credenciales de y el nombre de una clase de procesador de registros que usted proporcione. A medida que el proceso de trabajo ejecuta el código en el procesador de registros, lleva a cabo las siguientes tareas:

  • Se conecta a la secuencia.

  • Enumerates los fragmentos de la secuencia.

  • Coordina la asociación de los fragmentos con otros procesos de trabajo (si procede).

  • Crea instancias de un procesador de registros para cada fragmento que administra.

  • Extrae registros de la secuencia.

  • Inserta los registros en el procesador de registros correspondiente.

  • Genera puntos de comprobación para los registros procesados.

  • Balancea las asociaciones entre fragmentos y procesos de trabajo cuando cambia el recuento de instancias de procesos de trabajo.

  • Balancea las asociaciones entre fragmentos y procesos de trabajo cuando los fragmentos se dividen.

nota

Para obtener una descripción de los conceptos de KCL enumerados aquí, consulteDesarrollo de consumidores mediante Kinesis Client Libraryen laGuía para desarrolladores de Amazon Kinesis Data Streams.