Kurz: Dotazování služby Azure Cosmos DB pomocí rozhraní SQL API

PLATÍ PRO: SQL API

Rozhraní SQL API služby Azure Cosmos DB podporuje dotazování dokumentů pomocí jazyka SQL. Tento článek obsahuje ukázkový dokument a dva ukázkové dotazy SQL a jejich výsledky.

Tento článek se zabývá následujícími úkony:

  • Dotazování dat pomocí jazyka SQL

Ukázkový dokument

Dotazy SQL v tomto článku využívají následující ukázkový dokument.

{
  "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
}

Kde můžu spouštět dotazy SQL?

Dotazy můžete spouštět pomocí Průzkumník dat v Azure Portal a prostřednictvím REST API a sad SDK.

Další informace o dotazech SQL najdete tady:

Požadavky

V tomto kurzu se předpokládá, že máte účet a kolekci Azure Cosmos DB. Nemáte žádné z těchto prostředků? Dokončete pětiminutový rychlý start.

Příklad dotazu 1

s ohledem na výše uvedený dokument rodiny vzorků vrátí následující SQL dotaz dokumenty, ve kterých se pole ID shoduje WakefieldFamily . Vzhledem k tomu, že se jedná o příkaz SELECT *, výstupem dotazu bude celý dokument JSON:

Dotaz

    SELECT * 
    FROM Families f 
    WHERE f.id = "WakefieldFamily"

Výsledky

{
  "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
}

Příklad dotazu 2

Další dotaz vrátí všechny zadané názvy podřízených objektů v rodině, jejichž ID odpovídá WakefieldFamily .

Dotaz

    SELECT c.givenName 
    FROM Families f 
    JOIN c IN f.children 
    WHERE f.id = 'WakefieldFamily'

Výsledky

[
    {
        "givenName": "Jesse"
    },
    {
        "givenName": "Lisa"
    }
]

Další kroky

V tomto kurzu jste provedli následující úlohy:

  • Zjistili jste, jak provádět dotazy pomocí jazyka SQL.

Teď můžete pokračovat k dalšímu kurzu, kde se dozvíte, jak globálně distribuovat data.

chcete se pokusit plánování kapacity pro migraci na Azure Cosmos DB? Pro plánování kapacity můžete použít informace o vašem existujícím databázovém clusteru.