DynamoDB ResourceNotFoundException
TL;DR — DynamoDB não consegue encontrar a tabela (ou índice) que você nomeou na região /account para a qual seu cliente está apontado. Verifique se há um erro de digitação no nome da tabela, o region errado ou as credenciais de uma conta diferente. Quase nunca a tabela realmente desaparece.
O que significa
ResourceNotFoundException: Requested resource not found: Table: <table-name> not found
# on DynamoDB Local:
ResourceNotFoundException: Cannot do operations on a non-existent tableA primeira é o que o serviço ativo retorna — ele nomeia a tabela que procurou. O segundo é o que o DynamoDB Local retorna, e ver isso é um sinal confiável de que você está falando com o emulador em vez do AWS. De qualquer forma, a operação teve como alvo uma tabela ou índice que não existe da perspectiva deste cliente — a combinação de nome da tabela + região AWS + conta (credenciais). Todos os três têm que se alinhar. DynamoDB retorna com status HTTP 400 e não é possível tentar novamente — a mesma solicitação continua falhando até que você corrija o nome, a região ou as credenciais (ou a tabela termine de ser criada: uma tabela muito cedo no estado CREATING também pode retornar esse erro).
Por que isso acontece
- Incompatibilidade de região — a tabela está em
us-east-1, mas o padrão do cliente éus-west-2(ou nenhuma região está definida, então o SDK escolhe um padrão diferente). - Nome de tabela incorreto — um erro de digitação, maiúsculas e minúsculas incorretas (os nomes diferenciam maiúsculas de minúsculas no serviço da Web) ou um nome com prefixo de ambiente (
prod-OrdersvsOrders). - Conta errada — as credenciais são resolvidas para uma conta AWS diferente daquela que possui a tabela.
- Consultando um índice que não existe ou que ainda não é
ACTIVE(um GSI ainda está sendo preenchido) — a referência API indica "uma tabela ou índice inexistente" cujo "status pode não serACTIVE". - A tabela realmente foi excluída, ou você está apontando para DynamoDB Local, que começa vazio.
Como corrigir
- Fixar a região explicitamente no cliente e confirmar se ela corresponde ao local da tabela.
- Verifique o nome exato da tabela — liste as tabelas nessa região (
aws dynamodb list-tables --region <r>) e copie o nome literalmente. - Confirme as credenciais resolvidas para a conta proprietária (
aws sts get-caller-identity). - Verifique o nome do índice + status se a chamada usar
IndexName(DescribeTable→ o GSI deve serACTIVE).
Exemplo
import {DynamoDBClient} from '@aws-sdk/client-dynamodb';
// Pin the region so the client can't silently target the wrong one:
const client = new DynamoDBClient({region: 'us-east-1'});FAQ
Como faço para corrigir ResourceNotFoundException em DynamoDB?
Verifique se o nome da tabela, a região AWS e a conta (credenciais) estão alinhados: fixe a região explicitamente no cliente, liste as tabelas nessa região para verificar o nome exato e confirme se as credenciais são resolvidas para a conta proprietária com aws sts get-caller-identity.
ResourceNotFoundException significa que minha tabela foi excluída? Raramente. Geralmente significa que o cliente está procurando no lugar errado – uma incompatibilidade de região, um erro de digitação ou maiúsculas e minúsculas no nome da tabela ou credenciais para uma conta diferente. Também é acionado quando você consulta um índice que não existe ou ainda não está ATIVO, ou quando você aponta para DynamoDB Local, que começa vazio.
Workbench do DynoTable
DynoTable lista tabelas para o perfil ativo e região na barra lateral. Se um
tabela está faltando, pressione ⌘P para confirmar o perfil e verificar o
região na guia - uma incompatibilidade aqui é a causa mais comum desse erro em
o aplicativo. ⌘K → Abrir tabela por nome permite digitar a tabela exata
nome quando ListTables é negado ou a lista é filtrada por um prefixo de tabela.
No DynamoDB Local, adicione um perfil com endpoint http://localhost:8000 e
credenciais de espaço reservado correspondentes (Conectar ao DynamoDB Local)
— Local começa vazio até você criar tabelas.
Erros relacionados
- ResourceInUseException — o oposto: a tabela já existe.
- Região ausente na configuração
- O token de segurança é inválido
- Aprenda: Executando DynamoDB Local — Local começa vazio; saiba em qual endpoint você está.
Fontes
- Tratamento de erros com DynamoDB — Guia do desenvolvedor do Amazon DynamoDB (verificado em 13/07/2026)
- Consulta — Referência Amazon DynamoDB API (verificado em 13/07/2026)
- Notas de uso local do DynamoDB — Guia do desenvolvedor do Amazon DynamoDB (verificado em 13/07/2026)