Usar o adaptador do DynamoDB Streams Kinesis Adapter para processar registros de fluxos - Amazon DynamoDB

Usar o adaptador do DynamoDB Streams Kinesis Adapter para processar registros de fluxos

Usar o Amazon Kinesis Adapter é a forma recomendada para consumir fluxos do Amazon DynamoDB. A API do DynamoDB Streams é intencionalmente semelhante à do Kinesis Data Streams. Em ambos os serviços, os fluxos de dados são compostos de fragmentos, os quais são contêineres de registros de stream. A API de ambos os serviços que contém a API do DynamoDB Streams é intencionalmente semelhante à do Kinesis Data Streams. Em ambos os serviços, os fluxos de dados são compostos de fragmentos, os quais são contêineres de registros de stream. Ambas as APIs de serviços contêm as operações ListStreams, DescribeStream, GetShards e GetShardIterator. (Embora essas ações do DynamoDB Streams sejam semelhantes às suas equivalentes no Kinesis Data Streams, elas não são 100% idênticas.)

Como um cliente do DynamoDB Streams, você pode utilizar os padrões de design encontrados no Kinesis Client Library (KCL) para processar fragmentos e registros de fluxos do DynamoDB Streams. Para isso, você pode usar o DynamoDB Streams Kinesis Adapter. O Kinesis Adapter implementa a interface do Kinesis Data Streams para que a KCL possa ser usada para consumir e processar registros do DynamoDB Streams. Para obter instruções sobre como configurar e instalar o DynamoDB Streams Kinesis Adapter, consulte o repositório do GitHub.

Como um usuário do DynamoDB Streams, você pode utilizar os padrões de design encontrados no KCL para processar fragmentos e registros de fluxos do DynamoDB Streams. Para isso, você pode usar o DynamoDB Streams Kinesis Adapter. O Kinesis Adapter implementa a interface do Kinesis Data Streams para que a KCL possa ser usada para consumir e processar registros do DynamoDB Streams. Para obter instruções sobre como configurar e instalar o DynamoDB Streams Kinesis Adapter, consulte o repositório do GitHub.

Você pode escrever aplicações para Kinesis Data Streams usando a Kinesis Client Library (KCL). A KCL simplifica a codificação fornecendo abstrações úteis acima da API de baixo nível do Kinesis Data Streams. Para obter mais informações sobre a KCL, consulte Desenvolver consumidores usando a biblioteca de clientes do Kinesis no Guia do desenvolvedor do Amazon Kinesis Data Streams Developer Guide.

O DynamoDB recomenda usar a KCL versão 3.x com o AWS SDK para Java v2.x. Como previsto, durante o período de transição a versão atual da KCL 1.x com o AWS SDK para Java v1.x continuará a receber suporte total ao longo do ciclo de vida, de acordo com o estabelecido em AWS SDKs and Tools maintenance policy.

nota

As versões 1.x e 2.x da Amazon Kinesis Client Library (KCL) estão desatualizadas. A KCL 1.x chegará ao fim do suporte em 30 de janeiro de 2026. É altamente recomendável que você migre suas aplicações de KCL que usam a versão 1.x para a versão mais recente da KCL antes de 30 de janeiro de 2026. Para encontrar a versão mais recente da KCL, consulte a página da Amazon Kinesis Client Library no GitHub. Para ter mais informações sobre as versões mais recentes da KCL, consulte Use Kinesis Client Library.. Para obter mais informações sobre como migrar da KCL 1.x para a KCL 3.x, consulte Migração da KCL 1.x para a KCL 3.x .

O diagrama a seguir mostra como essas bibliotecas interagem entre si.

Interação entre o DynamoDB Streams, o Kinesis Data Streams e o KCL para processar registros do DynamoDB Streams.

Com o DynamoDB Streams Kinesis Adapter implementado, você pode começar a desenvolver a interface da KCL com as chamadas de API perfeitamente direcionadas no endpoint do DynamoDB Streams.

Quando a aplicação é iniciada, ela chama a KCL para instanciar um operador. Você deve fornecer ao operador informações de configuração da aplicação, como o descritor do fluxo e as credenciais da AWS, além do nome de uma classe de processador de registro que você fornecer. Como ele executa o código no processador de registro, o operador executa as seguintes tarefas:

  • Conecta-se ao stream

  • Enumera os fragmentos no fluxo

  • Verifica e enumera fragmentos filhos de um fragmento pai fechado dentro do fluxo

  • Verifica e enumera fragmentos filhos de um fragmento pai fechado dentro do fluxo

  • Coordena as associações do estilhaço com outros operadores (se houver)

  • Cria uma instância de um processador de registro para cada fragmento que gerencia

  • Extrai registros do fluxo

  • Envia os registros ao processador de registros correspondente

  • Registros processados pelos pontos de verificação

  • Equilibra as associações de estilhaço-operador quando a contagem de instância de operadores muda

  • Equilibra as associações de fragmento-operador quando os fragmentos se dividem

nota

Para obter uma descrição dos conceitos da KCL aqui listados, consulte Desenvolver consumidores usando a biblioteca clientes do Kinesis no Guia do desenvolvedor do Amazon Kinesis Data Streams.

Para obter mais informações sobre como usar fluxos com o AWS Lambda, consulte DynamoDB Streams e acionadores do AWS Lambda