DynamoDB ValidationException

En bref — Une ValidationException signifie que DynamoDB a rejeté la requête comme mal formée avant de toucher la moindre donnée. Lis le texte du message : il nomme le paramètre exact en cause. Rien n'a été écrit, donc corrige la forme de la requête et réessaie.

Ce que ça signifie

ValidationException est l'erreur client fourre-tout de DynamoDB (HTTP 400) pour une requête qui échoue à la validation — une mauvaise expression, une valeur dans le mauvais wrapper de type, une clé qui ne correspond pas au schéma de la table, ou une limite dépassée. Elle n'est pas réessayable : renvoyer la même requête produit la même erreur.

Comme c'est une famille d'erreurs, la correction dépend entièrement de la chaîne du message. Les variantes les plus courantes ont chacune leur propre page :

Pourquoi ça arrive

  • Un KeyConditionExpression qui n'inclut pas la clé de partition, ou qui référence un attribut hors clé.
  • Un attribut de clé dont le type ne correspond pas à la définition de la table (p. ex. envoyer un nombre sous forme de chaîne).
  • Un UpdateExpression / ConditionExpression / FilterExpression mal formé — un mot réservé utilisé brut, un placeholder #name ou :value manquant.
  • Des valeurs vides là où elles ne sont pas autorisées, ou un attribut qui se résout en un type non pris en charge.
  • Une limite dépassée — élément de plus de 400 Ko, trop d'éléments dans un BatchWriteItem, expression trop longue.

Comment le corriger

  1. Lis le message complet. DynamoDB te dit quel paramètre a échoué — la chaîne est précise (« Invalid UpdateExpression: Attribute name is a reserved keyword; reserved keyword: status »).
  2. Fais-le correspondre à la variante ci-dessus et applique la correction de cette page.
  3. Valide la forme de la requête localement avant d'envoyer — la plupart des ValidationException sont une faute de frappe dans une expression ou un wrapper de type.

FAQ

Une DynamoDB ValidationException est-elle réessayable ? Non. La requête elle-même est mal formée, donc la renvoyer produit la même erreur. Lis le texte du message — il nomme le paramètre exact en cause — corrige la forme de la requête, puis réessaie.

Quelles sont les causes les plus courantes d'une ValidationException ? Un KeyConditionExpression qui omet la clé de partition ou référence un attribut hors clé, un attribut de clé dont le type ne correspond pas à la définition de la table, une expression mal formée utilisant un mot réservé ou un placeholder manquant, des valeurs vides là où elles ne sont pas autorisées, ou une limite dépassée comme un élément de plus de 400 Ko.

Erreurs liées

Références

Dernière vérification le 2026-07-13 par rapport à la documentation officielle AWS liée ci-dessus.

Travaille avec DynamoDB sans la Console

Un client de bureau rapide pour DynamoDB qui exécute le vrai SQL que DynamoDB ne peut pas — JOINs, GROUP BY, agrégations — avec édition visuelle et un agent IA sur tes propres clés Bedrock.

Essai gratuit de 30 jours, sans carte bancaire — ensuite la formule Gratuit, sans limite de durée.