Falha na importação de DynamoDB S3 — formato inválido

TL;DR — ImportTable finalizado com status FAILED, FailureCode: ItemValidationError e a mensagem "Alguns dos itens falharam nas verificações de validação e não foram importados." Os objetos de origem não correspondem ao InputFormat/InputCompressionType que você declarou ou os itens não têm a chave primária. Corrija o formato/compression para corresponder aos objetos, confirme se cada item contém a chave e execute novamente a importação.

O que significa

"FailureCode": "ItemValidationError",
"FailureMessage": "Some of the items failed validation checks and were not
imported. Please check CloudWatch error logs for more details."

# In /aws-dynamodb/imports CloudWatch logs:
ValidationException: One or more parameter values were invalid: Missing the key pk in the item

DynamoDB Import from S3 valida cada objeto em relação ao formato e compactação que você declarou na chamada ImportTable — o InputFormat (DYNAMODB_JSON, ION ou CSV) e InputCompressionType (GZIP, ZSTD ou NONE) têm precedência sobre a extensão do arquivo. Se os bytes não forem analisados conforme declarado ou se um item não tiver a chave primária da tabela, esse item será ignorado (a importação continuará com o próximo item) e o trabalho terminará em FAILED.

Por que isso acontece

  • Incompatibilidade de formato — você especificou DYNAMODB_JSON, mas os objetos são na verdade CSV (ou JSON simples), então nada é analisado.
  • Incompatibilidade de compactação — objetos sob o prefixo são compactados de maneira diferente (alguns GZIP, outros NONE); todos eles devem usar o mesmo.
  • Compressão não suportada — apenas GZIP, ZSTD ou NONE são permitidos; outros codecs falham.
  • Chave primária ausente — um item CSV/JSON não possui nenhuma coluna/attribute correspondente à chave de partição (ou classificação) declarada: "Faltando a chave pk no item."
  • Incompatibilidade de tipo de chave — o tipo da chave importada não corresponde ao AttributeDefinitions da tabela (por exemplo, uma chave numérica importada como uma string).
  • Um objeto não analisável sob o prefixo — cada objeto que corresponde ao prefixo é lido como dados, portanto, um espaço reservado perdido ou arquivo malformado falha na validação.

Como corrigir

  1. Faça com que InputFormat corresponda aos bytes reais — arquivos CSV → CSV, DynamoDB JSON → DYNAMODB_JSON, Amazon Ion → ION.
  2. Faça com que todos os objetos sob o prefixo usem a mesma compactação e defina InputCompressionType para corresponder (GZIP/ZSTD/NONE).
  3. Certifique-se de que cada item tenha a chave primária — para CSV, inclua a coluna de chave (e cabeçalho) com um nome que corresponda ao KeySchema declarado.
  4. Corresponder tipos de atributos de chave ao AttributeDefinitions da tabela (S/N/B).
  5. Leia os logs de erros do CloudWatch em /aws-dynamodb/imports, fluxo de log <import-id>/error, para saber o motivo exato por item.
  6. Mantenha apenas objetos de dados analisáveis sob o prefixo; carregue dados via CLI/SDK em vez de criar pastas no console.

Workbench do DynoTable

Valide os arquivos de importação antes do upload - exporte um item de amostra do DynoTable como DynamoDB JSON (⌘K → copiar item) e confirme os atributos principais no conversor JSON. Verifique os tamanhos dos itens com a calculadora de tamanho do item quando objetos grandes causarem falhas de análise.

Configure o perfil da conta S3 em Configurações → Perfis com Conexão de teste; alterne com ⌘P. Consulte Conectar ao AWS e Instalar.

Fontes

Erros relacionados

Referências

Última verificação em 13/07/2026 em relação à documentação oficial do AWS vinculada acima.

Trabalhe com o DynamoDB sem o Console

Um cliente desktop rápido para DynamoDB que roda o SQL de verdade que o DynamoDB não consegue — JOINs, GROUP BY, agregações — com edição visual e um agente de IA com suas próprias chaves do Bedrock.

Teste grátis de 30 dias, sem cartão de crédito — depois o plano Grátis sem limite de tempo.