AWS CLI ile DynamoDB GetItem

CLI'da anahtar bir DynamoDB JSON dizesidir, her değer kendi türüyle sarmalanmıştır ({"S": "..."}, {"N": "..."}); bu da bir aws dynamodb get-item çağrısındaki zorluğun çoğunun DynamoDB değil, kabuk tırnaklaması olduğu anlamına gelir. Anahtarın kendisinin yine de tam birincil anahtar olması gerekir.

Kod

aws dynamodb get-item \
  --table-name 'Music' \
  --key '{"Artist":{"S":"Arturo Sandoval"},"SongTitle":{"S":"Cubano Chant"}}' \
  --projection-expression '#proj0, #proj1, #proj2, #proj3' \
  --expression-attribute-names '{"#proj0":"Artist","#proj1":"SongTitle","#proj2":"AlbumTitle","#proj3":"Year"}'

Yanıt, öğeyi DynamoDB JSON olarak yazdırır:

{
  "Item": {
    "Artist": {"S": "Arturo Sandoval"},
    "SongTitle": {"S": "Cubano Chant"},
    "AlbumTitle": {"S": "Danzon"},
    "Year": {"N": "1994"}
  }
}

Açıklama

  • Eşleşme yoksa hiçbir şey yazdırılmaz — ne Item, ne boş bir nesne, çıkış kodu 0. Bunu doğrudan jq'ya boruyla vermek boş girdide başarısız olur, dolayısıyla çıktıyı yakalayın ve ayrıştırmadan önce dizeyi sınayın.
  • Asıl iş tırnaklamadır$ ve ! düz kalsın diye bash ve zsh'de JSON'ı tek tırnak içine alın. Windows cmd ve PowerShell farklı kurallar izler; onlarla boğuşmak yerine anahtarı bir dosyaya koyup --key file://key.json geçirin.
  • --query, --projection-expression değildir--query JMESPath'tir ve öğe okunup faturalandırıldıktan sonra sizin makinenizde uygulanır. DynamoDB'nin gördüğü --projection-expression'dır. İkisi de okuma maliyetini azaltmaz (nedeni).
  • #proj0 takma adları biçimsel değil, zorunludurYear, AWS'nin ayrılmış sözcük listesindedir ve bir izdüşümde doğrudan adlandırılması reddedilir.
  • Neye mal olduğunu sorun--return-consumed-capacity TOTAL ekleyin, yanıt bir ConsumedCapacity bloğu kazanır. 4 KB'ın altındaki bu öğe için bu, 0,5 kapasite birimi okur; --consistent-read eklediğinizde 1,0 olur (ödünleşim).
  • CLI v2 çıktınızı sayfalar — varsayılan olarak her şey macOS ve Linux'ta less (FRX bayraklarıyla), Windows'ta ise more üzerinden geçer. Bir betikte bu nadiren istediğiniz şeydir: --no-cli-pager geçirin ya da AWS_PAGER'ı boş bir dizeye ayarlayın.

Görsel olarak yapın

O --key yığınını elle yazmak zamanın gittiği yerdir. DynamoDB Expression Builder DynamoDB JSON'ı ve takma ad haritalarını bir formdan oluşturur, sonra size çalıştırmaya hazır bir aws dynamodb komutu verir.

DynoTable aynı şeyi gerçek bir tabloya karşı yapar: satırları bir ızgarada gözden geçirin, sonra arkalarındaki sorguyu bir CLI komutu olarak dışa aktarın. DynoTable'ı indirin.

İlgili kılavuzlar

Kaynaklar

En son 2026-07-28 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.