DynamoDB dizi saklayabilir mi?

Evet. DynamoDB dizileri List (L) türünü kullanarak saklar — dizeler, sayılar, boolean değerler, null'lar, eşlemeler ve iç içe listeler dahil karışık türleri tutabilen sıralı bir koleksiyon. Benzersiz değerlerden oluşan sırasız koleksiyonlar için ayrıca String, Number ve Binary Set türlerini sunar. Öğe 400 KB'ın altında kaldığı sürece bir eleman sayısı sınırı yoktur.

Listeler (sıralı diziler)

Bir List sırayı korur; yinelenenlere ve karışık türlere izin verir. Doğrudan bir JSON dizisine eşlenir ve 32 düzey derinliğe kadar iç içe geçebilir (eşleme listeleri, liste listeleri).

Belgelenmiş o sınır en alttaki değeri de sayar. Bir dizeyi 31 iç içe L kapsayıcısına sarmak sorunsuz yazılır; 32'nci kapsayıcı başarısız olur ve aynı sınır iç içe M için de geçerlidir:

ValidationException: Nesting Levels have exceeded supported limits:
Attributes in the item have nested levels beyond supported limit

Kümeler (benzersiz değerler)

  • String Set (SS), Number Set (NS), Binary Set (BS) tek bir türden benzersiz değerleri sırasız olarak tutar.
  • Bir küme boş olamaz (bu bir ValidationException yükseltir).

Üyelik ve benzersizlik önemliyse Set kullanın; sıra ya da karışık türler önemliyse List kullanın.

Kümeler yeniden sıralar ve yinelenenleri reddeder

["zulu", "alpha", "mike"]'yi bir String Set olarak saklayın; ["alpha", "mike", "zulu"] olarak geri okunur. Bir Number Set sayısal olarak sıralar: ["30", "4", "100"] ["4", "30", "100"] döndürür. Aynı değerler bir List'te yazdığınız sırayla geri gelir.

Tekrar eden bir üye, sessiz bir yinelenen ayıklama değil, sert bir başarısızlıktır:

ValidationException: Input collection contains duplicates

Ve bir küme asla boş olamayacağı için, son üyesini DELETE etmek özniteliği kaldırır. Geri boş bir küme bekleyen kod bunun yerine eksik bir öznitelik alır; dolayısıyla uzunluğun sıfır olmasına değil, attribute_exists'e göre sınayın.

Gerçekte kaç eleman sığar

"Eleman sayısı sınırı yok" doğrudur ve üzerine hareket etmesi zordur. Kullanışlı yanıt, 400 KB'ın bir elemanın maliyetine bölümüdür: bir liste 3 bayt ek yük taşır, sonra her elemanın kendi boyutu artı 1 bayt gelir.

Tek karakterlik bir bölüm anahtarı altındaki 36 karakterlik UUID dizeleri için bu 11.070 eleman eder. 11.071'inciyi eklemek reddedilir:

ValidationException: Item size has exceeded the maximum allowed size

Öğe boyutu hesaplayıcısı o iki öğeyi 409.599 ve 409.636 bayt olarak boyutlandırır; yani 409.600 baytlık çizgiyi tam olarak motorun çizdiği yere çizer. Büyük olanı yazmak 400 yazma birimine mal olur.

Daha derine inin

Bkz. DynamoDB veri türleri ve iç içe yapıları JSON dönüştürücü ile çevirin. Liste ve küme özniteliklerini düzenlemek için DynoTable'ı indirin.

Kaynaklar

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

2026-07-28 tarihinde @aws-sdk/client-dynamodb 3.1095.0 üzerinden DynamoDB Local 3.3.0'a karşı ölçüldü ve yeniden üretildi — yukarıdaki eleman sayısı, iç içe geçme sınırı, küme gidiş-dönüşleri ve hata dizeleri tahmin değil, motor çıktısıdır. Hata dizelerinin ifadesi canlı hizmette farklı olabilir.

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.