DynamoDB ValidationException

TL;DR — Una ValidationException significa que DynamoDB rechazó la petición por estar mal formada antes de tocar dato alguno. Lee el texto del mensaje: nombra el parámetro exacto que falla. No se escribió nada, así que corrige la forma de la petición y reintenta.

Qué significa

ValidationException es el error de cliente comodín de DynamoDB (HTTP 400) para una petición que no supera la validación — una expresión incorrecta, un valor en el envoltorio de tipo equivocado, una clave que no coincide con el esquema de la tabla, o un límite superado. No es reintentable: enviar la misma petición de nuevo produce el mismo error.

Como es una familia de errores, la solución depende por completo del texto del mensaje. Las variantes más comunes tienen cada una su propia página:

Por qué ocurre

  • Una KeyConditionExpression que no incluye la partition key, o hace referencia a un atributo que no es clave.
  • Un atributo de clave cuyo tipo no coincide con la definición de la tabla (p. ej. enviar un número como cadena).
  • Una UpdateExpression / ConditionExpression / FilterExpression mal formada — una palabra reservada usada en crudo, un marcador #name o :value que falta.
  • Valores vacíos donde no se permiten, o un atributo que se resuelve a un tipo no admitido.
  • Un límite superado — Item por encima de 400 KB, demasiados Items en un BatchWriteItem, expresión demasiado larga.

Cómo solucionarlo

  1. Lee el mensaje completo. DynamoDB te dice qué parámetro falló — la cadena es precisa ("Invalid UpdateExpression: Attribute name is a reserved keyword; reserved keyword: status").
  2. Empareja con la variante de arriba y aplica la solución de esa página.
  3. Valida la forma de la petición localmente antes de enviar — la mayoría de las ValidationException son una errata en una expresión o en un envoltorio de tipo.

FAQ

¿Es reintentable una DynamoDB ValidationException? No. La propia petición está mal formada, así que enviarla de nuevo produce el mismo error. Lee el texto del mensaje — nombra el parámetro exacto que falla — corrige la forma de la petición y luego reintenta.

¿Cuáles son las causas más comunes de una ValidationException? Una KeyConditionExpression que omite la partition key o hace referencia a un atributo que no es clave, un atributo de clave cuyo tipo no coincide con la definición de la tabla, una expresión mal formada que usa una palabra reservada o un marcador ausente, valores vacíos donde no se permiten, o un límite superado como un Item por encima de 400 KB.

Errores relacionados

Referencias

Verificado por última vez el 2026-07-13 contra la documentación oficial de AWS enlazada arriba.

Trabaja con DynamoDB sin la Consola

Un cliente de escritorio rápido para DynamoDB que ejecuta el SQL real que DynamoDB no puede — JOINs, GROUP BY, agregaciones — con edición visual y un agente de IA con tus propias claves de Bedrock.

Prueba gratuita de 30 días, sin tarjeta — después, el plan Free sin límite de tiempo.