Självstudie: Fråga Azure Cosmos DB med hjälp av SQL API
GÄLLER FÖR:
SQL API
Azure Cosmos DB SQL API stöder frågedokument med hjälp av SQL. Den här artikeln innehåller ett dokumentexempel och två exempel på SQL-frågor och resultat.
Den här artikeln beskriver följande uppgifter:
- Fråga efter data med SQL
Exempeldokument
SQL-frågorna i artikeln använder följande exempeldokument.
{
"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
}
Var kan jag köra SQL-frågor?
Du kan köra frågor med hjälp Datautforskaren i Azure Portal och via REST API- och SDK:erna.
Mer information om SQL-frågor finns i:
Förutsättningar
Den här självstudien förutsätter att du har ett konto för Azure Cosmos DB och en samling. Har du inte någon av dessa resurser? Slutför Snabbstart på 5 minuter.
Exempelfråga 1
I exemplet på familjedokumentet ovan returnerar följande SQL fråga de dokument där ID-fältet matchar WakefieldFamily . Eftersom det är en SELECT *-instruktion är utdatan från frågan ett komplett JSON-dokument:
Query
SELECT *
FROM Families f
WHERE f.id = "WakefieldFamily"
Resultat
{
"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
}
Exempelfråga 2
Nästa fråga returnerar alla förnamn för underordnade i familjen vars ID matchar WakefieldFamily .
Query
SELECT c.givenName
FROM Families f
JOIN c IN f.children
WHERE f.id = 'WakefieldFamily'
Resultat
[
{
"givenName": "Jesse"
},
{
"givenName": "Lisa"
}
]
Nästa steg
I den här självstudien har du gjort följande:
- Lärt dig hur man frågar med SQL
Du kan nu fortsätta till nästa självstudie för att lära dig hur du distribuerar dina data globalt.
Försöker du göra kapacitetsplanering för en migrering till Azure Cosmos DB? Du kan använda information om ditt befintliga databaskluster för kapacitetsplanering.
- Om allt du vet är antalet virtuella kärnor och servrar i ditt befintliga databaskluster kan du läsa om att uppskatta enheter för programbegäran med hjälp av virtuella kärnor eller virtuella processorer
- Om du känner till typiska begärandefrekvenser för din aktuella databasarbetsbelastning kan du läsa om att uppskatta enheter för programbegäran Azure Cosmos DB kapacitetsplaneraren