Öğ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 WakefieldFamilybelgeleri 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.