DynamoDB ValidationException

TL;DR — Um ValidationException significa que o DynamoDB rejeitou a requisição como malformada antes de tocar em qualquer dado. Leia o texto da mensagem: ele nomeia o parâmetro exato em falha. Nada foi escrito, então corrija a forma da requisição e tente novamente.

O que significa

ValidationException é o erro de cliente genérico do DynamoDB (HTTP 400) para uma requisição que falha na validação — uma expressão ruim, um valor no wrapper de tipo errado, uma chave que não corresponde ao schema da tabela, ou um limite excedido. Ele não é retentável: enviar a mesma requisição novamente produz o mesmo erro.

Como é uma família de erros, a correção depende inteiramente da string da mensagem. As variantes mais comuns têm cada uma sua própria página:

Por que isso acontece

  • Um KeyConditionExpression que não inclui a chave de partição, ou referencia um atributo que não é chave.
  • Um atributo de chave cujo tipo não corresponde à definição da tabela (por exemplo, enviar um número como string).
  • Um UpdateExpression / ConditionExpression / FilterExpression malformado — uma palavra reservada usada crua, um placeholder #name ou :value ausente.
  • Valores vazios onde não são permitidos, ou um atributo que resolve para um tipo não suportado.
  • Um limite excedido — item acima de 400 KB, itens demais em um BatchWriteItem, expressão longa demais.

Como corrigir

  1. Leia a mensagem completa. O DynamoDB diz qual parâmetro falhou — a string é precisa ("Invalid UpdateExpression: Attribute name is a reserved keyword; reserved keyword: status").
  2. Combine-a com a variante acima e aplique a correção daquela página.
  3. Valide a forma da requisição localmente antes de enviar — a maioria dos ValidationExceptions é um erro de digitação em uma expressão ou um wrapper de tipo.

FAQ

Um DynamoDB ValidationException é retentável? Não. A própria requisição está malformada, então enviá-la novamente produz o mesmo erro. Leia o texto da mensagem — ele nomeia o parâmetro exato em falha — corrija a forma da requisição e então tente novamente.

Quais são as causas mais comuns de um ValidationException? Um KeyConditionExpression que omite a chave de partição ou referencia um atributo que não é chave, um atributo de chave cujo tipo não corresponde à definição da tabela, uma expressão malformada usando uma palavra reservada ou um placeholder ausente, valores vazios onde não são permitidos, ou um limite excedido como um item acima de 400 KB.

Erros relacionados

Referências

Verificado pela última vez em 2026-07-13 contra a documentação oficial da 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.