One or more parameter values were invalid

TL;DR — DynamoDB aceptó la forma de la petición pero rechazó un valor específico dentro de ella: un conjunto vacío, una cadena vacía en una clave, un valor cuyo tipo no coincide con el esquema, o un null donde no está permitido. Lee el resto del mensaje — nombra el parámetro exacto — y corrige ese valor.

Qué significa

ValidationException: One or more parameter values were invalid: <specific reason>

Es un ValidationException (HTTP 400) cuyo cuerpo del mensaje señala un valor que rompió una regla — AWS documenta el mensaje solo como "varía, según el error o errores específicos encontrados". El prefijo es genérico; la parte importante es lo que le sigue — por ejemplo, que un AttributeValue no puede contener una cadena vacía para una clave, que un conjunto no puede estar vacío, o que el tipo de un valor de clave no coincide con el esquema. No es reintentable tal cual; el valor tiene que cambiar.

Por qué ocurre

Razones típicas que la cola del mensaje detalla (la redacción exacta varía según el caso):

  • Una cadena vacía o un valor binario vacío en un atributo de clave — las cadenas y los valores binarios que no son de clave pueden estar vacíos; las claves de tabla e índice no.
  • Un conjunto vacío — un SS/NS/BS con cero miembros. Los conjuntos deben ser no vacíos en todas partes; las listas y los mapas vacíos están bien.
  • Un desajuste de tipo para una clave (p. ej. expected: S actual: N) — el tipo del valor no coincide con el esquema de claves de la tabla.
  • Un valor null pasado a un atributo que no lo acepta, o un marshaller que emite null para un campo undefined.
  • Un valor fuera de rango para su tipo (consulta desbordamiento de número).

Cómo solucionarlo

  1. Lee el mensaje completo. DynamoDB nombra el parámetro problemático y la regla exacta — esa cadena es la solución.
  2. Da valores reales a las claves — nunca una cadena vacía ni un binario vacío en una clave de partición/ordenación.
  3. Elimina los conjuntos vacíos — omite el atributo cuando un conjunto no tenga miembros, o almacena un escalar/NULL en su lugar.
  4. Haz coincidir los tipos con el esquema — envía una clave numérica como número, una clave de cadena como cadena; no cruces los envoltorios.
  5. Elimina undefined/null del Item antes de escribir (la opción removeUndefinedValues del Document Client cubre el caso común).

FAQ

¿Qué significa "One or more parameter values were invalid"? Un valor específico de tu petición rompe una regla de DynamoDB — con mayor frecuencia una cadena vacía en una clave, un conjunto vacío, un tipo que no coincide con el esquema de claves, o un null no permitido. El mensaje completo nombra el parámetro exacto y la razón.

¿Por qué una cadena vacía solo falla a veces? DynamoDB permite cadenas vacías para atributos que no son de clave, pero las rechaza en los atributos de clave. Una cadena vacía en una clave de partición o de ordenación lanza "An AttributeValue may not contain an empty string"; el mismo valor en un atributo normal se acepta.

Errores relacionados

Referencias

Última verificación el 2026-07-13 con 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.