AWS CLI ile DynamoDB BatchGetItem

aws dynamodb batch-get-item, tek bir komutta birincil anahtara göre 100'e kadar öğe getirir (en fazla 16 MB). Anahtarlar --request-items içinde tablo → anahtarlar eşlemesi olarak DynamoDB JSON biçiminde yer alır — ve çıktıdaki UnprocessedKeys'i kontrol etmelisiniz, çünkü bir toplu istek yasal olarak istediğinizin yalnızca bir kısmını döndürebilir.

Code

aws dynamodb batch-get-item \
  --request-items '{
    "Music": {
      "Keys": [
        {"Artist": {"S": "Arturo Sandoval"}, "SongTitle": {"S": "Cubano Chant"}},
        {"Artist": {"S": "Arturo Sandoval"}, "SongTitle": {"S": "A Mis Abuelos"}},
        {"Artist": {"S": "Ella Fitzgerald"}, "SongTitle": {"S": "Misty"}}
      ]
    }
  }'

Çıktı, her tabloyu bulunan öğelerle, artı varsa kalanlarla eşler:

{
    "Responses": {
        "Music": [
            {"Artist": {"S": "Arturo Sandoval"}, "SongTitle": {"S": "Cubano Chant"}, ...}
        ]
    },
    "UnprocessedKeys": {}
}

Açıklama

  • --request-items — tablo adı → {"Keys": [...]} şeklinde bir eşleme; bir komut birden çok tabloya yayılabilir. Her anahtar tam birincil anahtar olmalıdır (bileşik bir anahtar için bölüm + sıralama). 100'den fazla anahtar ya da aynı anahtarın iki kez geçmesi bir ValidationException ile başarısız olur.
  • Responses — öğeler belirli bir sırada olmadan döner ve var olmayan anahtarlar basitçe görünmez — sonuçları anahtar özniteliklerine göre isteklerle eşleştirin.
  • UnprocessedKeysquery/scan'in aksine CLI, kısmi bir toplu isteği otomatik olarak yeniden denemez (bu bir sayfalama belirteci değildir). Eşleme boş değilse — kısıtlama, 16 MB'ı aşan bir yanıt — komutu tam olarak o eşlemeyle --request-items olarak yeniden çalıştırın (zaten doğru biçimde), denemeler arasında geri çekilerek.
  • Tablo başına, yalnızca bazı öznitelikleri getirmek için "ProjectionExpression": "..." ("ExpressionAttributeNames" ile) ve güçlü tutarlı okumalar için "ConsistentRead": true ekleyebilirsiniz — toplu okumalar varsayılan olarak nihai tutarlıdır.
  • İpucu: birkaçtan fazla anahtar için eşlemeyi bir dosyada tutun ve --request-items file://keys.json olarak geçirin.

Görsel olarak yapın

İç içe DynamoDB JSON'unu kabuk tırnakları içinde elle yazmak hataya açıktır. DynamoDB Expression Builder, türlü anahtar/değer eşlemeleri oluşturur ve çalıştırmaya hazır CLI komutlarını kopyalar.

JSON kaçışları olmadan, yeniden çalıştırma takibi olmadan tablolar arası öğeleri bir grafik arayüzde (GUI) getirmek ve incelemek için — DynoTable'ı indirin.

İlgili örnekler

References

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

Console olmadan DynamoDB ile çalışın

DynoTable, DynamoDB için hızlı bir masaüstü istemcisidir — tablolara göz atın, SQL tarzı sorgular çalıştırın ve item'ları yerel olarak düzenleyin.