One or more parameter values were invalid
TL;DR — O DynamoDB aceitou a forma da requisição mas rejeitou um valor específico dentro dela: um Set vazio, uma string vazia em uma chave, um valor cujo tipo não corresponde ao schema, ou um null onde um não é permitido. Leia o resto da mensagem — ela nomeia o parâmetro exato — e corrija esse valor.
O que significa
ValidationException: One or more parameter values were invalid: <specific reason>Este é um ValidationException (HTTP 400) cujo corpo da mensagem aponta um valor que quebrou uma regra — a AWS documenta a mensagem apenas como "varies, depending upon the specific error(s) encountered". O prefixo é genérico; a parte importante é o que o segue — por exemplo, que um AttributeValue não pode conter uma string vazia para uma chave, que um set não pode ser vazio, ou que o tipo de um valor de chave não corresponde ao schema. Ele é não retentável como está; o valor precisa mudar.
Por que isso acontece
Motivos típicos que a cauda da mensagem detalha (a redação exata varia por caso):
- Uma string vazia ou valor binário vazio em um atributo de chave — strings e valores binários que não são chave podem ser vazios; chaves de tabela e índice não.
- Um set vazio — um
SS/NS/BScom zero membros. Sets precisam ser não vazios em todo lugar; lists e maps vazios são aceitos. - Uma incompatibilidade de tipo para uma chave (por exemplo,
expected: S actual: N) — o tipo do valor não corresponde ao key schema da tabela. - Um valor null passado a um atributo que não o aceita, ou um marshaller emitindo
nullpara um campoundefined. - Um valor fora do intervalo para seu tipo (veja number overflow).
Como corrigir
- Leia a mensagem completa. O DynamoDB nomeia o parâmetro problemático e a regra exata — essa string é a correção.
- Dê valores reais às chaves — nunca uma string vazia ou binário vazio em uma chave de partição/ordenação.
- Remova sets vazios — omita o atributo quando um Set não tem membros, ou armazene um escalar/
NULLem vez disso. - Combine os tipos com o schema — envie uma chave numérica como número, uma chave de string como string; não cruze os wrappers.
- Retire
undefined/nulldo item antes de escrever (a opçãoremoveUndefinedValuesdo Document Client trata o caso comum).
FAQ
O que significa "One or more parameter values were invalid"? Um valor específico na sua requisição quebra uma regra do DynamoDB — mais frequentemente uma string vazia em uma chave, um Set vazio, um tipo que não corresponde ao key schema, ou um null não permitido. A mensagem completa nomeia o parâmetro e o motivo exatos.
Por que uma string vazia só falha às vezes? O DynamoDB permite strings vazias para atributos que não são chave mas as rejeita em atributos de chave. Uma string vazia em uma chave de partição ou ordenação levanta "An AttributeValue may not contain an empty string"; o mesmo valor em um atributo comum é aceito.
Erros relacionados
- Supplied AttributeValue is empty — um atributo de item sem valor tipado nenhum.
- The provided key element does not match the schema — uma incompatibilidade de tipo/forma de chave.
- ValidationException (overview)
- Aprenda: DynamoDB data types
Referências
- 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
Verificado pela última vez em 2026-07-13 contra a documentação oficial da AWS vinculada acima.