DynamoDB não pode acessar o stream – o stream não está habilitado
TL;DR — Um consumidor (um mapeamento de origem de eventos do Lambda, um leitor do Kinesis Adapter ou uma chamada DescribeStream/GetShardIterator bruta) tentou ler um stream DynamoDB em uma tabela onde os Streams estão desativados ou usou um stream obsoleto ARN de antes dos Streams serem reativados. Habilite Streams DynamoDB na tabela e aponte o consumidor para o LatestStreamArn atual da tabela.
O que significa
Cannot access stream arn:aws:dynamodb:us-east-1:111122223333:table/Orders/stream/... .
Please ensure the ARN is correct and the stream is enabled.
DynamoDB Streams must be enabled on the table.DynamoDB Streams é um recurso opcional. Uma tabela só possui um stream quando você configura um StreamSpecification com StreamEnabled: true. Se um leitor (geralmente um mapeamento de origem de eventos Lambda) estiver conectado a uma tabela que não possui fluxo ativo (ou a um ARN que não existe mais), o mapeamento não poderá ser anexado e relatará que não pode acessar o fluxo.
Por que isso acontece
- Streams nunca foram habilitados na tabela, mas o consumidor espera um.
- Streams foram desativados e reativados — cada ativação gera um stream ARN novo em folha (com um novo sufixo de carimbo de data/hora). Um consumidor segurando o antigo ARN está lendo um fluxo desabilitado que permanece legível por no máximo mais 24 horas, depois seus registros expiram.
- Desvio de infraestrutura como código — um consumidor CDK/CloudFormation/Terraform faz referência a uma tabela importada por nome/ARN que não propagou sua configuração de stream, portanto, as ferramentas pensam que os Streams estão desativados.
- Fluxo errado ARN — usando a tabela ARN ou um espaço reservado
.../stream/latest, em vez doLatestStreamArnreal.
Como corrigir
- Ative Streams na tabela. Defina
StreamSpecification{ StreamEnabled: true, StreamViewType: NEW_AND_OLD_IMAGES }(ou qualquer tipo de visualização que seu consumidor precise) viaUpdateTable, o console ou seu IaC. - Leia o fluxo atual ARN. Chame
DescribeTablee use o campoLatestStreamArn— nunca um ARN feito à mão ou em cache. - Reaponte o consumidor para o novo ARN após qualquer ciclo de desativação do /enable; recrie o mapeamento da fonte de eventos do Lambda se ele estiver vinculado ao stream antigo.
- Conceder permissão de leitura — a função do consumidor precisa de
dynamodb:DescribeStream,GetRecords,GetShardIteratoreListStreamsno stream ARN. - Não confunda tabela com stream ARN — o stream ARN termina em
/stream/<timestamp>, a tabela ARN não.
Precisa inspecionar a tabela e sua configuração de stream sem o console? O aplicativo de desktop DynoTable exibe o status do stream ao lado da tabela para que você possa confirmar se está ativado antes de apontar um leitor para ele.
Antes de tentar de novo no DynoTable
Antes de anexar um mapeamento de origem de eventos do Lambda, abra a tabela no DynoTable e confirme se o Streams está ativado e qual StreamViewType está definido (detalhes da tabela). O DynoTable mostra a configuração do fluxo ao lado do esquema para que você não precise passar pelo console do AWS.
Depois de desabilitar e reativar Streams, o ARN muda — atualize a tabela no DynoTable e copie a identidade do stream atual do AWS (LatestStreamArn via CLI/DescribeTable) para o consumidor. Use ⌘P para permanecer no perfil correto da conta/region. A inspeção diária de itens permanece no DynoTable; os consumidores de fluxo permanecem nas ferramentas Lambda/Kinesis. O construtor de consultas ajuda a verificar se a tabela ainda fornece leituras codificadas após uma alternância de Streams.
Fontes
- Alterar captura de dados para fluxos DynamoDB (verificado em 13/07/2026)
- Processar registros Amazon DynamoDB com Lambda (verificado em 13/07/2026)
Erros relacionados
- ResourceNotFoundException — a tabela ou fluxo ARN não existe.
- O ARN fornecido é inválido — um fluxo ARN malformado.
- Aprenda: Transmissões DynamoDB
Referências
- Alterar captura de dados para streams DynamoDB — Guia do desenvolvedor do Amazon DynamoDB
- Processar registros do Amazon DynamoDB com Lambda — Guia do desenvolvedor do AWS Lambda
- StreamSpecification – Referência do Amazon DynamoDB API
- DescribeTable — Referência do Amazon DynamoDB API
Última verificação em 13/07/2026 em relação à documentação oficial do AWS vinculada acima.