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/BScon 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
nullpara un campoundefined. - Un valor fuera de rango para su tipo (consulta desbordamiento de número).
Cómo solucionarlo
- Lee el mensaje completo. DynamoDB nombra el parámetro problemático y la regla exacta — esa cadena es la solución.
- Da valores reales a las claves — nunca una cadena vacía ni un binario vacío en una clave de partición/ordenación.
- Elimina los conjuntos vacíos — omite el atributo cuando un conjunto no tenga miembros, o almacena un escalar/
NULLen su lugar. - 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.
- Elimina
undefined/nulldel Item antes de escribir (la opciónremoveUndefinedValuesdel 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
- Supplied AttributeValue is empty — un atributo de Item sin ningún valor tipado.
- The provided key element does not match the schema — un desajuste de tipo/forma de clave.
- ValidationException (visión general)
- Aprende: DynamoDB data types
Referencias
- Error handling with DynamoDB — Amazon DynamoDB Developer Guide
- Supported data types and naming rules in Amazon DynamoDB — Amazon DynamoDB Developer Guide
- AttributeValue — Amazon DynamoDB API Reference
Última verificación el 2026-07-13 con la documentación oficial de AWS enlazada arriba.