One or more parameter values were invalid
In breve — DynamoDB ha accettato la forma della richiesta ma ha rifiutato un valore specifico al suo interno: un Set vuoto, una stringa vuota in una chiave, un valore il cui tipo non corrisponde allo schema, o un null dove non è consentito. Leggi il resto del messaggio — nomina l'esatto parametro — e correggi quel valore.
Cosa significa
ValidationException: One or more parameter values were invalid: <specific reason>Questa è una ValidationException (HTTP 400) il cui corpo del messaggio individua un valore che ha violato una regola — AWS documenta il messaggio solo come "varia, a seconda dello/degli errore/i specifico/i incontrato/i". Il prefisso è generico; la parte importante è ciò che segue — per esempio che un AttributeValue non può contenere una stringa vuota per una chiave, che un set non può essere vuoto, o che il tipo di un valore di chiave non corrisponde allo schema. Non è ripetibile così com'è; il valore deve cambiare.
Perché succede
Ragioni tipiche che la coda del messaggio esplicita (il testo esatto varia per caso):
- Una stringa o un valore binario vuoto in un attributo chiave — le stringhe e i valori binari non-chiave possono essere vuoti; le chiavi di tabella e indice no.
- Un set vuoto — un
SS/NS/BScon zero membri. I set devono essere non vuoti ovunque; le liste e le mappe vuote vanno bene. - Una mancata corrispondenza di tipo per una chiave (es.
expected: S actual: N) — il tipo del valore non corrisponde al key schema della tabella. - Un valore null passato a un attributo che non lo accetta, o un marshaller che emette
nullper un campoundefined. - Un valore fuori intervallo per il suo tipo (vedi number overflow).
Come risolverlo
- Leggi il messaggio completo. DynamoDB nomina il parametro incriminato e l'esatta regola — quella stringa è la soluzione.
- Dai alle chiavi valori reali — mai una stringa vuota o un binario vuoto in una partition/sort key.
- Rimuovi i set vuoti — ometti l'attributo quando un Set non ha membri, o memorizza uno scalare/
NULL. - Fai corrispondere i tipi allo schema — invia una chiave numerica come numero, una chiave stringa come stringa; non incrociare i wrapper.
- Rimuovi
undefined/nulldall'Item prima di scrivere (l'opzioneremoveUndefinedValuesdel Document Client gestisce il caso comune).
FAQ
Cosa significa "One or more parameter values were invalid"? Un valore specifico nella tua richiesta viola una regola di DynamoDB — più spesso una stringa vuota in una chiave, un Set vuoto, un tipo che non corrisponde al key schema, o un null non consentito. Il messaggio completo nomina l'esatto parametro e la ragione.
Perché una stringa vuota fallisce solo a volte? DynamoDB consente stringhe vuote per attributi non-chiave ma le rifiuta negli attributi chiave. Una stringa vuota in una partition o sort key genera "An AttributeValue may not contain an empty string"; lo stesso valore in un attributo normale è accettato.
Errori correlati
- Supplied AttributeValue is empty — un attributo dell'Item senza alcun valore tipizzato.
- The provided key element does not match the schema — una mancata corrispondenza di tipo/forma della chiave.
- ValidationException (overview)
- Impara: DynamoDB data types
Riferimenti
- 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
Ultima verifica 2026-07-13 rispetto alla documentazione ufficiale AWS collegata sopra.