DynamoDB Sorgu Örnekleri

Dynamodb Sorgu Ornekleri



Veritabanı, bir veri koleksiyonudur; DynamoDB de bir istisna değildir. Veritabanları, önceden tanımlanmış bir mekanizma olmadan alınması zor olabilecek çok sayıda veri içerir. Sorgu komutunun önemli bir rol oynadığı yer burasıdır.

Herhangi bir veritabanı yönetim sistemi gibi, DynamoDB de verilerinize erişmek ve bunları değiştirmek için sistemle etkileşim kurabileceğiniz çeşitli sorgulama yöntemleri sunar. DynamoDB'de sorgulama, sorgu komutuyla ilgili bir öğeyi veya bir öğe grubunu almanıza izin veren çok güçlü bir araçtır.

Bu makale, DynamoDB Sorgu İşlemlerinin ana örneklerini özetlemektedir.







Yaygın DynamoDB Sorgu Örnekleri

DynamoDB'deki sorgu işlemi için varsayılan davranış, sorgu öğeleriyle ilişkili tüm öğeleri döndürmektir. İlginç bir şekilde, DynamoDB'deki sorgu komutu tablolarla veya ikincil dizinlerle kullanılabilir.



Durum ne olursa olsun, bölüm anahtarınızın değeri için eşitlik koşulunu belirttiğinizden her zaman emin olun. Yine, komutta bir sıralama anahtarı kullanmanız durumunda, sıralama anahtarı için farklı bir koşul sağlamanız gerekebilir.



DynamoDB'yi sorgularken karşılaşacağınız diğer parametreler arasında KeyConditionExpression ve FilterExpression da bulunur. KeyConditionExpression, sorgulamak istediğiniz anahtar değerleri belirtir. Öte yandan, FilterExpression, siz bir yanıt almadan önce sorgu sonuçlarından öğeleri kaldırır. Bahsedilen ifade parametreleri için ExpressionAttributeValues ​​öğesini yer tutucu olarak kullanacaksınız.





DynamoDB Sorgu Örnekleri şunları içerir:

Birincil Anahtarlara Dayalı Bir Tablodan Tek Bir Öğe Bulma

Öğenin bölüm anahtarı ve sıralama anahtarı değerlerinin birleşimine dayanarak tek bir öğeyi bulmak için DynmoDB'deki Sorgu yardımcı programını kullanabilirsiniz. Böyle bir işlemin sözdizimi aşağıdaki gibidir:



aws dynamodb sorgusu \

--table-name MyTableName \

--key-koşul-ifadesi 'PartitionKey = :pk VE SıralamaKey = :sk' \

--ifade-öznitelik-değerleri '{':pk':{'S':'a123b'},':sk':{'S':'def456b'}}'

Yukarıdaki sorgu yardımcı programı, MyTableName tablosundan bölüm anahtarı değeri a1234b ve sıralama anahtarı değeri odef456b olan bir öğeyi almayı amaçlar. Örneğin, 'Siparişler' tablomuzda bir öğeyi bulmak için yukarıdaki yardımcı programı kullanabiliriz. Öğenin bölüm anahtarı değeri şu olabilir: wr546gg Sıralama anahtarı değeri şu şekilde olabilirken, Customer_ID'yi temsil eder: 24536433 sipariş numarasını temsil eder.

Sonuç aşağıdaki gibi olabilir:

Yukarıdaki sonuç Tatil Kitaplarını, wr546gg bölüm anahtarı değerine ve 24536433 sıralama anahtarı değerine sahip tek öğe olarak geri getirir. Ayrıca size öğeyle ilişkili diğer tüm ek nitelikleri getirir. Örneğimizde fatura numarasını ve ödenen tutarı geri getiriyor.

Özellikle, belirtilen birincil anahtar değerleriyle eşleşen hiçbir öğe yoksa, sorgu komutu boş bir listeyi geri getirecektir.

Geri almak Belirli Nitelik Değerleriyle Eşleşen Bir DynamoDB Tablosundaki Tüm Öğeler

Belirli bir DynamoDB tablosunda benzer öznitelik değerine sahip tüm öğeleri almak için bir filtre ifadesi kullanın.

Bu sorgulama işlemi için komut aşağıda gösterildiği gibidir.

aws dynamodb sorgusu \

--table-name MyTableName \

--filtre-ifadesi 'DiğerÖznitelik1 = :val' \

--ifade-öznitelik-değerleri '{':val':{'S':'value1'}}'

Örneğin, Müzik tablomuzda 5 dakikadan fazla süren şarkıları almak için yukarıdaki sorgu komutunu kullanabiliriz. Bunu başarmak için OtherAttribute1 değerimizi 5.00 ve MyTableName değerimizi Music olarak ayarlayacağız.

Sonuç aşağıda gösterildiği gibi olabilir:

Kısa olması için listeyi kısaltmak gerekir. Ancak sonuçlardan, sorgu komutumuz DynamoDB Music tablomuzdan filtre ifadesi değeri 5.00 olan 11 öğe aldı.

Belirli Bir Öznitelik Değerleri Aralığına Sahip Tüm Öğeleri Alma

Aşağıdaki komut, belirli bir tablodaki öğeleri alırken kullanışlıdır:

aws dynamodb sorgusu \

--table-name \

--key-koşul-ifadesi 'attribute_name :val1 VE :val2 ARASINDA' \

--ifade-öznitelik-değerleri '{':val1':{'N':''},':val2':{'N':''}}'

Tabii ki, diğer herhangi bir komut satırında yapmanız gerektiği gibi, tüm öznitelikleri özelleştirilmiş kimlik bilgilerinizle değiştirmeniz gerekecektir. Örneğin, Çalışan tablomuzu 'yaş' olarak adlandırılan bir aralık anahtarı özniteliğiyle kullanacağız. 30 ile 42 yaş arasındaki işverenleri geri kazanmayı hedefleyeceğiz.

Yeni komut satırımız aşağıdaki gibi olacaktır:

aws dynamodb sorgusu \

--table-name Kullanıcılar \

--key-koşul-ifadesi ' :val1 VE :val2 ARASINDAKİ YAŞ' \

--ifade-öznitelik-değerleri '{':val1':{'N':'30'},':val2':{'N':'42'}}'

Yukarıdaki yardımcı programı çalıştırmak, aşağıdaki şekilde gösterilene benzer bir yanıt getirecektir;

Yukarıdaki çizim, sorgunun her sorgu için öznitelik değerini belirten 6 öğeyi geri getirdiğini göstermektedir. ScannedCount, tabloda taranan öğelerin sayısı iken, KapasiteBirimleri işlem sırasında tüketilen birimlerin miktarıdır.

Çözüm

DynamoDB bir NoSQL veritabanı olduğu için, sorgu işlemi sıradan AQL veritabanınızınki gibi davranmaz. Ancak bir kez yaptığınızda, işlemin oldukça güçlü olduğunu ve veritabanıyla etkileşiminizi hızlandıracağını göreceksiniz.