Öğretici: NoSQL api'sini kullanarak Azure Cosmos DB'yi sorgulama
UYGULANANLAR: NOSQL
NoSQL için Azure Cosmos DB API'si, SQL kullanarak belgeleri sorgulamayı destekler. Bu makalede, örnek bir belge ve iki örnek SQL sorgusu ve sonuçları sağlanmaktadır.
Bu makale aşağıdaki görevleri kapsar:
- SQL ile verileri sorgulama
Örnek belge
Bu makaledeki SQL sorguları aşağıdaki örnek belgeyi kullanır.
{
"id": "WakefieldFamily",
"parents": [
{ "familyName": "Wakefield", "givenName": "Robin" },
{ "familyName": "Miller", "givenName": "Ben" }
],
"children": [
{
"familyName": "Merriam",
"givenName": "Jesse",
"gender": "female", "grade": 1,
"pets": [
{ "givenName": "Goofy" },
{ "givenName": "Shadow" }
]
},
{
"familyName": "Miller",
"givenName": "Lisa",
"gender": "female",
"grade": 8 }
],
"address": { "state": "NY", "county": "Manhattan", "city": "NY" },
"creationDate": 1431620462,
"isRegistered": false
}
SQL sorgularını nerede çalıştırabilirim?
Azure portal Veri Gezgini kullanarak ve REST API ile SDK'lar aracılığıyla sorgu çalıştırabilirsiniz.
SQL sorguları hakkında daha fazla bilgi için bkz:
Önkoşullar
Bu öğreticide, bir Azure Cosmos DB hesabınız ve koleksiyonunuz olduğu varsayılır. Bu kaynaklara sahip değil misiniz? 5 dakikalık hızlı başlangıcı tamamlayın.
Örnek sorgu 1
Yukarıdaki örnek aile belgesi göz önünde bulundurulduğunda, AŞAĞıDAKI SQL sorgusu, kimlik alanının ile eşleştiği WakefieldFamily
belgeleri döndürür. Bu bir SELECT *
deyimi olduğundan, sorgunun çıkışı eksiksiz JSON belgesidir:
Sorgu
SELECT *
FROM Families f
WHERE f.id = "WakefieldFamily"
Sonuçlar
{
"id": "WakefieldFamily",
"parents": [
{ "familyName": "Wakefield", "givenName": "Robin" },
{ "familyName": "Miller", "givenName": "Ben" }
],
"children": [
{
"familyName": "Merriam",
"givenName": "Jesse",
"gender": "female", "grade": 1,
"pets": [
{ "givenName": "Goofy" },
{ "givenName": "Shadow" }
]
},
{
"familyName": "Miller",
"givenName": "Lisa",
"gender": "female",
"grade": 8 }
],
"address": { "state": "NY", "county": "Manhattan", "city": "NY" },
"creationDate": 1431620462,
"isRegistered": false
}
Örnek sorgu 2
Sonraki sorgu, ailedeki kimliği ile eşleşen WakefieldFamily
çocukların verilen tüm adlarını döndürür.
Sorgu
SELECT c.givenName
FROM Families f
JOIN c IN f.children
WHERE f.id = 'WakefieldFamily'
Sonuçlar
[
{
"givenName": "Jesse"
},
{
"givenName": "Lisa"
}
]
Sonraki adımlar
Bu öğreticide, aşağıdaki görevleri tamamladınız:
- SQL kullanarak sorgulamayı öğrendiniz
Artık verilerinizi genel olarak nasıl dağıtacağınızı öğrenmek için sonraki öğreticiye ilerleyebilirsiniz.
Azure Cosmos DB'ye geçiş için kapasite planlaması yapmaya mı çalışıyorsunuz? Kapasite planlaması için mevcut veritabanı kümeniz hakkındaki bilgileri kullanabilirsiniz.
- Tek bildiğiniz mevcut veritabanı kümenizdeki sanal çekirdek ve sunucu sayısıysa, sanal çekirdekleri veya vCPU'ları kullanarak istek birimlerini tahmin etme hakkında bilgi edinin
- Geçerli veritabanı iş yükünüz için tipik istek oranlarını biliyorsanız Azure Cosmos DB kapasite planlayıcısı kullanarak istek birimlerini tahmin etme hakkında bilgi edinin