AWS CLI ile DynamoDB'de GSI Sorgulama

Bir global ikincil indeksi sorgulamak, normal bir aws dynamodb query artı bir bayraktır: --index-name. Anahtar koşulu bu durumda tablonun değil, indeksin anahtarlarını hedefler — burada AlbumTitle-index, temel tablonun (Artist + SongTitle) bir tarama olmadan hizmet edemeyeceği bir erişim deseni olan, şarkıları albüme göre getirmemizi sağlar.

Code

aws dynamodb query \
  --table-name 'Music' \
  --index-name 'AlbumTitle-index' \
  --key-condition-expression '#hashKey = :hashKeyValue' \
  --expression-attribute-names '{"#hashKey":"AlbumTitle"}' \
  --expression-attribute-values '{":hashKeyValue":{"S":"Danzon"}}'

Çıktı, eşleşen öğeleri DynamoDB JSON olarak verir:

{
    "Items": [
        {"Artist": {"S": "Arturo Sandoval"}, "SongTitle": {"S": "Cubano Chant"}, ...}
    ],
    "Count": 2,
    "ScannedCount": 2
}

Açıklama

  • --index-name — sorgulanacak GSI'yı adlandırır (--table-name yine de zorunludur). --key-condition-expression, bir tablo sorgusuyla aynı operatörlerle indeksin bölüm (ve isteğe bağlı sıralama) anahtarını — burada AlbumTitle — kullanır.
  • Yalnızca nihai tutarlılık — GSI'lar temel tablodan eşzamansız olarak çoğaltılır. Bir GSI sorgusuna --consistent-read eklemek onu yükseltmez; bir ValidationException ile başarısız olur. (Yerel ikincil indeksler güçlü tutarlılığı destekler.)
  • Yalnızca yansıtılan öznitelikleri alırsınız — bir GSI sorgusu, indeksin yansıttığını (ALL, KEYS_ONLY veya INCLUDE ile listelenen öznitelikler) döndürür ve gerisini temel tablodan getiremez.
  • Bir GSI'da anahtarlar benzersiz değildir — birçok öğe aynı indeks anahtarını paylaşabilir ve indeks anahtarı özniteliği eksik olan öğeler basitçe görünmez (bu, seyrek-indeks desenidir).
  • Sayfalama otomatiktir — CLI, hizmetin sayfalama belirteçlerini perde arkasında takip eder ve birleştirilmiş sonucu yazdırır. Çıktıyı sınırlamak için --max-items kullanın (bir NextToken görünür; --starting-token ile devam edin) ya da tek bir hizmet çağrısı için --no-paginate kullanın.

Görsel olarak yapın

DynamoDB Expression Builder, indeks sorguları için anahtar koşulunu + ad/değer eşlemelerini oluşturur ve size çalıştırmaya hazır bir CLI komutu verir.

Bir tablonun indekslerini gezinmek ve bir formdan GSI sorguları çalıştırmak için — sayfalanmış ızgara, CLI olarak kopyalama — DynoTable'ı indirin.

İlgili örnekler

References

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

Bu isteği görsel olarak oluşturun

Bu operasyonu ücretsiz DynamoDB Sorgu Oluşturucuda kurun — anahtar koşulu, filtre, index, Limit, sıralama yönü ve bir sayfalama döngüsü — ve çalıştırılabilir bir SDK v3, CLI veya boto3 programı olarak geri kopyalayın.

DynamoDB Sorgu Oluşturucuyu aç

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.