One or more parameter values were invalid

TL;DR — DynamoDB istek şeklini kabul etti ama içindeki belirli bir değeri reddetti: boş bir Küme, bir anahtardaki boş bir string, türü şemayla eşleşmeyen bir değer ya da izin verilmeyen bir yerde bir null. Mesajın geri kalanını okuyun — tam parametreyi adıyla verir — ve o değeri düzeltin.

Ne anlama gelir

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

Bu, mesaj gövdesi bir kuralı bozan bir değeri belirleyen bir ValidationException'dır (HTTP 400) — AWS mesajı yalnızca "karşılaşılan belirli hataya bağlı olarak değişir" olarak belgeler. Önek geneldir; önemli kısım onu izleyendir — örneğin bir AttributeValue'nun bir anahtar için boş bir string içeremeyeceği, bir kümenin boş olamayacağı ya da bir anahtar değerinin türünün şemayla eşleşmediği. Olduğu gibi yeniden denenebilir değildir; değer değişmelidir.

Neden olur

Mesaj kuyruğunun açıkladığı tipik nedenler (tam ifade duruma göre değişir):

  • Bir anahtar özniteliğinde boş bir string ya da ikili değer — anahtar olmayan stringlerin ve ikili değerlerin boş olmasına izin verilir; tablo ve indeks anahtarlarına izin verilmez.
  • Boş bir küme — sıfır üyeli bir SS/NS/BS. Kümeler her yerde boş olmamalıdır; boş listeler ve map'ler sorunsuzdur.
  • Bir anahtar için bir tür uyuşmazlığı (örneğin expected: S actual: N) — değerin türü tablonun anahtar şemasıyla eşleşmiyor.
  • Onu kabul etmeyen bir özniteliğe iletilen bir null değeri ya da bir undefined alan için null yayan bir marshalcı.
  • Türü için aralık dışı bir değer (number overflow'a bakın).

Nasıl düzeltilir

  1. Tam mesajı okuyun. DynamoDB sorunlu parametreyi ve tam kuralı adıyla verir — o dize çözümdür.
  2. Anahtarlara gerçek değerler verin — bir bölüm/sıralama anahtarında asla boş bir string ya da boş bir ikili değil.
  3. Boş kümeleri bırakın — bir Küme'nin üyesi olmadığında özniteliği atlayın ya da bunun yerine bir skaler/NULL saklayın.
  4. Türleri şemayla eşleştirin — sayısal bir anahtarı bir sayı olarak, bir string anahtarı bir string olarak gönderin; sarmalayıcıları geçmeyin.
  5. Yazmadan önce öğeden undefined/null'ı çıkarın (Document Client'ın removeUndefinedValues seçeneği yaygın durumu ele alır).

SSS

"One or more parameter values were invalid" ne anlama gelir? İsteğinizdeki belirli bir değer bir DynamoDB kuralını bozar — çoğunlukla bir anahtardaki boş bir string, boş bir Küme, anahtar şemasıyla eşleşmeyen bir tür ya da izin verilmeyen bir null. Tam mesaj, tam parametreyi ve nedeni adıyla verir.

Boş bir string neden yalnızca bazen başarısız olur? DynamoDB, anahtar olmayan öznitelikler için boş stringlere izin verir ama onları anahtar özniteliklerinde reddeder. Bir bölüm ya da sıralama anahtarındaki boş bir string "An AttributeValue may not contain an empty string" fırlatır; aynı değer normal bir öznitelikte kabul edilir.

İlgili hatalar

Kaynaklar

En son 2026-07-13 tarihinde yukarıda bağlantısı verilen resmi AWS belgelerine karşı doğrulandı.

Console olmadan DynamoDB ile çalış

DynamoDB’nin çalıştıramadığı gerçek SQL’i çalıştıran hızlı bir DynamoDB masaüstü istemcisi — JOINs, GROUP BY, toplamalar — görsel düzenleme ve kendi Bedrock anahtarların üzerinde bir yapay zekâ aracısıyla.

30 günlük ücretsiz deneme, kredi kartı yok — ardından süre sınırı olmayan Ücretsiz plan.