Como posso capturar eventos de fluxo de tabelas globais do Amazon DynamoDB com o AWS Lambda?

Última atualização: 18/8/2022

Quero criar um gatilho do AWS Lambda para processar o fluxo de uma tabela global do Amazon DynamoDB.

Resolução

Uma tabela global do DynamoDB é um conjunto de réplicas entre regiões em uma única conta. Tabelas globais usam o DynamoDB Streams para replicar dados em diferentes regiões. Quando você cria uma réplica para uma tabela global, um fluxo é criado por padrão. Qualquer alteração em uma réplica é replicada em menos de um segundo para todas as outras réplicas dentro da mesma tabela global usando o DynamoDB Streams.

Observação: ter um único consumidor em qualquer uma das réplicas da tabela global em qualquer região é suficiente para recuperar os registros de modificação de todos os itens.

Você pode configurar um gatilho do AWS Lambda para processar um fluxo de uma réplica de tabela global fazendo o seguinte:

  1. Certifique-se de que AWSLambdaDynamoDBExecutionRole tenha as permissões necessárias do AWS Identity and Access Management (IAM).
    Observação: por padrão, a política do IAM AWSLambdaDynamoDBExecutionRole não tem permissões para o Lambda se comunicar com outros serviços, como o Amazon Simple Notification Service (Amazon SNS). Isso significa que você deve acrescentar as permissões adicionais necessárias com base no destino do Lambda.
  2. Crie uma função do Lambda usando o esquema dynamodb-process-stream. Você pode modificar o código do Lambda de acordo com sua necessidade de processar os dados do fluxo.
  3. Depois de criar a função do Lambda com êxito, abra o console do DynamoDB e selecione a réplica da tabela global. Na guia Exports and streams (Exportações e fluxos), escolha Create trigger (Criar gatilho). Em seguida, selecione a função do Lambda criada na etapa anterior. Certifique-se de selecionar Enable trigger (Habilitar gatilho) para que o gatilho seja ativado depois de criado.

A função do Lambda agora está configurada como um acionador para a sua réplica de tabela global. Todas as alterações na réplica serão capturadas pelo fluxo, e o gatilho será chamado.


Este artigo ajudou?


Precisa de ajuda com faturamento ou suporte técnico?