Tutorial: Abfragen von Azure Cosmos DB mithilfe der API für NoSQL

GILT FÜR: NoSQL

Die API für NoSQL von Azure Cosmos DB unterstützt das Abfragen von Dokumenten mit SQL. Dieser Artikel stellt ein Beispieldokument sowie zwei SQL-Beispielabfragen und Ergebnisse vor.

In diesem Artikel werden die folgenden Aufgaben behandelt:

  • Abfragen von Daten mit SQL

Beispieldokument

Die SQL-Abfragen in diesem Artikel verwenden das folgende Beispieldokument.

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

Wo kann ich SQL-Abfragen durchführen?

Sie können Abfragen mithilfe des Daten-Explorers im Azure-Portal und über die REST-API und SDKs ausführen.

Weitere Informationen zu SQL-Abfragen finden Sie hier:

Voraussetzungen

Dieses Tutorial setzt voraus, dass Sie über Azure Cosmos DB-Konto und -Sammlung verfügen. Sie verfügen über keine dieser Ressourcen? Führen Sie den 5-Minuten-Schnellstart aus.

Beispielabfrage 1

Im obigen Familienbeispieldokument gibt die folgende SQL-Abfrage die Dokumente zurück, in denen das Feld „ID“ mit WakefieldFamily übereinstimmt. Da es sich um eine SELECT *-Anweisung handelt, ist die Ausgabe der Abfrage das komplette JSON-Dokument:

Abfrage

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

Ergebnisse

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

Beispielabfrage 2

Die nächste Abfrage gibt alle Vornamen von Kindern der Familie zurück, deren ID WakefieldFamily entspricht.

Abfrage

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

Ergebnisse

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

Nächste Schritte

In diesem Tutorial haben Sie die folgenden Aufgaben ausgeführt:

  • Sie haben gelernt, wie Sie Abfragen mithilfe von SQL durchführen.

Sie können jetzt mit dem nächsten Tutorial fortfahren, um zu erfahren, wie Sie Ihre Daten global verteilen.

Versuchen Sie, die Kapazitätsplanung für eine Migration zu Azure Cosmos DB durchzuführen? Sie können Informationen zu Ihrem vorhandenen Datenbankcluster für die Kapazitätsplanung verwenden.