Fråga Azure Cosmos DB-data med en serverlös SQL-pool i Azure Synapse Link
Med en serverlös SQL-pool kan du analysera data i dina Azure Cosmos DB-containrar som är aktiverade med Azure Synapse Link nästan i realtid utan att påverka prestandan för dina transaktionsarbetsbelastningar. Den erbjuder en välbekant T-SQL-syntax för att fråga efter data från analysarkivet och integrerad anslutning till en mängd olika business intelligence-verktyg (BI) och ad hoc-frågeverktyg via T-SQL-gränssnittet.
För att köra frågor mot Azure Cosmos DB stöds hela SELECT-ytan via funktionen OPENROWSET, som innehåller de flesta SQL-funktioner och -operatorer. Du kan också lagra resultatet av frågan som läser data från Azure Cosmos DB tillsammans med data i Azure Blob Storage eller Azure Data Lake Storage med hjälp av skapa extern tabell som välj (CETAS). Du kan för närvarande inte lagra serverlösa SQL-poolfrågeresultat till Azure Cosmos DB med hjälp av CETAS.
I den här artikeln får du lära dig hur du skriver en fråga med en serverlös SQL-pool som kör frågor mot data från Azure Cosmos DB-containrar som är aktiverade med Azure Synapse Link. Du kan sedan lära dig mer om att skapa serverlösa SQL-poolvyer över Azure Cosmos DB-containrar och ansluta dem till Power BI-modeller i den här självstudien. I den här självstudien används en container med ett väldefinierat Azure Cosmos DB-schema. Du kan också kolla in Learn-modulen om hur du kör frågor mot Azure Cosmos DB med SQL Serverless för Azure Synapse Analytics.
Kommentar
Du kan inte använda hanterad identitet för att komma åt en Azure Cosmos DB-container från en serverlös SQL-pool.
Förutsättningar
- Kontrollera att du har förberett analysarkivet:
- Aktivera analysarkiv på dina Azure Cosmos DB-containrar.
- Hämta niska veze med en skrivskyddad nyckel som du använder för att fråga analysarkiv.
- Hämta den skrivskyddade nyckeln som ska användas för att komma åt Azure Cosmos DB-containern
- Kontrollera att du har tillämpat alla metodtips, till exempel:
- Kontrollera att azure Cosmos DB-analyslagringen finns i samma region som en serverlös SQL-pool.
- Kontrollera att klientprogrammet (Power BI, Analysis Service) finns i samma region som en serverlös SQL-pool.
- Om du returnerar en stor mängd data (större än 80 GB) bör du överväga att använda cachelagringslager som Analysis Services och läsa in partitionerna som är mindre än 80 GB i Analysis Services-modellen.
- Om du filtrerar data med hjälp av strängkolumner kontrollerar du att du använder
OPENROWSET
funktionen med den explicitaWITH
satsen som har de minsta möjliga typerna (använd till exempel inte VARCHAR(1000) om du vet att egenskapen har upp till 5 tecken).
Översikt
Med en serverlös SQL-pool kan du köra frågor mot Azure Cosmos DB-analyslagring med hjälp av OPENROWSET
funktionen .
OPENROWSET
med infogad nyckel. Den här syntaxen kan användas för att köra frågor mot Azure Cosmos DB-samlingar utan att behöva förbereda autentiseringsuppgifter.OPENROWSET
som refererade till autentiseringsuppgifter som innehåller Azure Cosmos DB-kontonyckeln. Den här syntaxen kan användas för att skapa vyer i Azure Cosmos DB-samlingar.
För att stödja frågekörning och analys av data i ett Azure Cosmos DB-analysarkiv används en serverlös SQL-pool. Den serverlösa SQL-poolen använder OPENROWSET
SQL-syntaxen, så du måste först konvertera din Azure Cosmos DB-niska veze till det här formatet:
OPENROWSET(
'CosmosDB',
'<SQL connection string for Azure Cosmos DB>',
<Container name>
) [ < with clause > ] AS alias
SQL-niska veze för Azure Cosmos DB anger Azure Cosmos DB-kontonamnet, databasnamnet, huvudnyckeln för databaskontot och ett valfritt regionnamn för OPENROWSET
funktionen. En del av den här informationen kan hämtas från Standard Azure Cosmos DB-niska veze.
Konvertera från standardformatet för Azure Cosmos DB niska veze:
AccountEndpoint=https://<database account name>.documents.azure.com:443/;AccountKey=<database account master key>;
SQL-niska veze har följande format:
'account=<database account name>;database=<database name>;region=<region name>;key=<database account master key>'
Regionen är valfri. Om den utelämnas används containerns primära region.
Viktigt!
Det finns en annan valfri parameter i niska veze som heter endpoint
. Param endpoint
krävs för konton som inte matchar standardformatet *.documents.azure.com
. Om ditt Azure CosmosDB-konto till exempel slutar med .documents.azure.us
kontrollerar du att du lägger till endpoint=<account name>.documents.azure.us
i niska veze.
Azure Cosmos DB-containernamnet anges utan citattecken i syntaxen OPENROWSET
. Om containernamnet innehåller specialtecken, till exempel ett bindestreck (-), ska namnet omslutas inom hakparenteser ([]
) i syntaxen OPENROWSET
.
Viktigt!
Kontrollera att du använder viss UTF-8-databassortering, Latin1_General_100_CI_AS_SC_UTF8
till exempel , eftersom strängvärden i ett Azure Cosmos DB-analysarkiv kodas som UTF-8-text.
Ett matchningsfel mellan textkodning i filen och sortering kan orsaka oväntade textkonverteringsfel.
Du kan enkelt ändra standardsortering av den aktuella databasen med hjälp av T-SQL-instruktionen alter database current collate Latin1_General_100_CI_AI_SC_UTF8
.
Kommentar
En serverlös SQL-pool stöder inte frågor mot ett Azure Cosmos DB-transaktionslager.
Exempeldatauppsättning
Exemplen i den här artikeln baseras på data från European Centre for Disease Prevention and Control (ECDC) COVID-19 Cases och COVID-19 Open Research Dataset (CORD-19), doi:10.5281/zenodo.3715505.
Du kan se licensen och strukturen för data på dessa sidor. Du kan också ladda ned exempeldata för ECDC - och CORD-19-datauppsättningarna.
Om du vill följa med i den här artikeln som visar hur du kör frågor mot Azure Cosmos DB-data med en serverlös SQL-pool måste du skapa följande resurser:
- Ett Azure Cosmos DB-databaskonto som är Azure Synapse Link aktiverat.
- En Azure Cosmos DB-databas med namnet
covid
. - Två Azure Cosmos DB-containrar med namnet
Ecdc
ochCord19
inlästa med föregående exempeldatauppsättningar.
Du kan använda följande niska veze i testsyfte: Account=synapselink-cosmosdb-sqlsample;Database=covid;Key=s5zarR2pT0JWH9k8roipnWxUYBegOuFGjJpSjGlR36y86cW0GQ6RaaG8kGjsRAQoWMw1QKTkkX8HQtFpJjC8Hg==
. Observera att den här anslutningen inte garanterar prestanda eftersom det här kontot kan finnas i en fjärrregion jämfört med synapse SQL-slutpunkten.
Utforska Azure Cosmos DB-data med automatisk schemainferens
Det enklaste sättet att utforska data i Azure Cosmos DB är att använda funktionen för automatisk schemainferens. Genom att WITH
utelämna satsen från -instruktionen OPENROWSET
kan du instruera den serverlösa SQL-poolen att automatiskt identifiera (härled) schemat för analysarkivet för Azure Cosmos DB-containern.
SELECT TOP 10 *
FROM OPENROWSET(
'CosmosDB',
'Account=synapselink-cosmosdb-sqlsample;Database=covid;Key=s5zarR2pT0JWH9k8roipnWxUYBegOuFGjJpSjGlR36y86cW0GQ6RaaG8kGjsRAQoWMw1QKTkkX8HQtFpJjC8Hg==',
Ecdc) as documents
I föregående exempel instruerade vi den serverlösa SQL-poolen att ansluta till covid
databasen i Azure Cosmos DB-kontot MyCosmosDbAccount
som autentiserats med hjälp av Azure Cosmos DB-nyckeln (dummy i föregående exempel). Sedan kom Ecdc
vi åt containerns analysarkiv i West US 2
regionen. Eftersom det inte finns någon projektion av specifika egenskaper OPENROWSET
returnerar funktionen alla egenskaper från Azure Cosmos DB-objekten.
Förutsatt att objekten i Azure Cosmos DB-containern har date_rep
egenskaperna , cases
och geo_id
visas resultatet av den här frågan i följande tabell:
date_rep | cases | geo_id |
---|---|---|
2020-08-13 | 254 | RS |
2020-08-12 | 235 | RS |
2020-08-11 | 163 | RS |
Om du behöver utforska data från den andra containern i samma Azure Cosmos DB-databas kan du använda samma niska veze och referera till den nödvändiga containern som den tredje parametern:
SELECT TOP 10 *
FROM OPENROWSET(
'CosmosDB',
'Account=synapselink-cosmosdb-sqlsample;Database=covid;Key=s5zarR2pT0JWH9k8roipnWxUYBegOuFGjJpSjGlR36y86cW0GQ6RaaG8kGjsRAQoWMw1QKTkkX8HQtFpJjC8Hg==',
Cord19) as cord19
Ange uttryckligen schema
Även om funktionen för automatisk schemainferens i OPENROWSET
ger en enkel, lättanvänd fråga, kan dina affärsscenarier kräva att du uttryckligen anger schemat till skrivskyddade relevanta egenskaper från Azure Cosmos DB-data.
Med OPENROWSET
funktionen kan du uttryckligen ange vilka egenskaper du vill läsa från data i containern och ange deras datatyper.
Anta att vi har importerat vissa data från ECDC COVID-datauppsättningen med följande struktur till Azure Cosmos DB:
{"date_rep":"2020-08-13","cases":254,"countries_and_territories":"Serbia","geo_id":"RS"}
{"date_rep":"2020-08-12","cases":235,"countries_and_territories":"Serbia","geo_id":"RS"}
{"date_rep":"2020-08-11","cases":163,"countries_and_territories":"Serbia","geo_id":"RS"}
Dessa platta JSON-dokument i Azure Cosmos DB kan representeras som en uppsättning rader och kolumner i Synapse SQL. Med OPENROWSET
funktionen kan du ange en delmängd av egenskaper som du vill läsa och de exakta kolumntyperna WITH
i -satsen:
SELECT TOP 10 *
FROM OPENROWSET(
'CosmosDB',
'Account=synapselink-cosmosdb-sqlsample;Database=covid;Key=s5zarR2pT0JWH9k8roipnWxUYBegOuFGjJpSjGlR36y86cW0GQ6RaaG8kGjsRAQoWMw1QKTkkX8HQtFpJjC8Hg==',
Ecdc
) with ( date_rep varchar(20), cases bigint, geo_id varchar(6) ) as rows
Resultatet av den här frågan kan se ut som i följande tabell:
date_rep | cases | geo_id |
---|---|---|
2020-08-13 | 254 | RS |
2020-08-12 | 235 | RS |
2020-08-11 | 163 | RS |
Mer information om de SQL-typer som ska användas för Azure Cosmos DB-värden finns i reglerna för SQL-typmappningar i slutet av artikeln.
Skapa vy
Att skapa vyer i master
eller standarddatabaser rekommenderas inte eller stöds inte. Därför måste du skapa en användardatabas för dina vyer.
När du har identifierat schemat kan du förbereda en vy ovanpå dina Azure Cosmos DB-data. Du bör placera din Azure Cosmos DB-kontonyckel i en separat autentiseringsuppgift och referera till den här autentiseringsuppgiften från OPENROWSET
funktionen. Behåll inte kontonyckeln i vydefinitionen.
CREATE CREDENTIAL MyCosmosDbAccountCredential
WITH IDENTITY = 'SHARED ACCESS SIGNATURE', SECRET = 's5zarR2pT0JWH9k8roipnWxUYBegOuFGjJpSjGlR36y86cW0GQ6RaaG8kGjsRAQoWMw1QKTkkX8HQtFpJjC8Hg==';
GO
CREATE OR ALTER VIEW Ecdc
AS SELECT *
FROM OPENROWSET(
PROVIDER = 'CosmosDB',
CONNECTION = 'Account=synapselink-cosmosdb-sqlsample;Database=covid',
OBJECT = 'Ecdc',
SERVER_CREDENTIAL = 'MyCosmosDbAccountCredential'
) with ( date_rep varchar(20), cases bigint, geo_id varchar(6) ) as rows
Använd inte OPENROWSET
utan explicit definierat schema eftersom det kan påverka dina prestanda. Se till att du använder de minsta möjliga storlekarna för dina kolumner (till exempel VARCHAR(100) i stället för standardVARCHAR(8000)). Du bör använda viss UTF-8-sortering som standarddatabassortering eller ange den som explicit kolumnsortering för att undvika utf-8-konverteringsproblem. Sortering Latin1_General_100_BIN2_UTF8
ger bästa prestanda när du filtrerar data med hjälp av vissa strängkolumner.
När du frågar vyn kan det uppstå fel eller oväntade resultat. Det innebär förmodligen att vyn refererar till kolumner eller objekt som har ändrats eller inte längre finns. Du måste justera vydefinitionen manuellt så att den överensstämmer med de underliggande schemaändringarna. Tänk på att detta kan inträffa både när du använder automatisk schemainferens i vyn och när du uttryckligen anger schemat.
Fråga kapslade objekt
Med Azure Cosmos DB kan du representera mer komplexa datamodeller genom att skapa dem som kapslade objekt eller matriser. Funktionen autosynkronisering i Azure Synapse Link för Azure Cosmos DB hanterar schemarepresentationen i analysarkivet, vilket inkluderar hantering av kapslade datatyper som möjliggör omfattande frågor från den serverlösa SQL-poolen.
Till exempel har CORD-19-datauppsättningen JSON-dokument som följer den här strukturen:
{
"paper_id": <str>, # 40-character sha1 of the PDF
"metadata": {
"title": <str>,
"authors": <array of objects> # list of author dicts, in order
...
}
...
}
Kapslade objekt och matriser i Azure Cosmos DB representeras som JSON-strängar i frågeresultatet OPENROWSET
när funktionen läser dem. Du kan ange sökvägarna till kapslade värden i objekten när du använder WITH
-satsen:
SELECT TOP 10 *
FROM OPENROWSET(
'CosmosDB',
'Account=synapselink-cosmosdb-sqlsample;Database=covid;Key=s5zarR2pT0JWH9k8roipnWxUYBegOuFGjJpSjGlR36y86cW0GQ6RaaG8kGjsRAQoWMw1QKTkkX8HQtFpJjC8Hg==',
Cord19)
WITH ( paper_id varchar(8000),
title varchar(1000) '$.metadata.title',
metadata varchar(max),
authors varchar(max) '$.metadata.authors'
) AS docs;
Resultatet av den här frågan kan se ut som i följande tabell:
paper_id | rubrik | metadata | författare |
---|---|---|---|
bb11206963e831f... | Kompletterande information En ekoepidemi... | {"title":"Supplementary Informati… |
[{"first":"Julien","last":"Mélade","suffix":"","af… |
bb1206963e831f1... | Användningen av konvalescent sera i Immun-E ... | {"title":"The Use of Convalescent… |
[{"first":"Antonio","last":"Lavazza","suffix":"", … |
bb378eca9aac649... | Tylosema esculentum (Marama) Tuber och B... | {"title":"Tylosema esculentum (Ma… |
[{"first":"Walter","last":"Chingwaru","suffix":"",… |
Läs mer om att analysera komplexa datatyper som Parquet-filer och -containrar i Azure Synapse Link för Azure Cosmos DB eller kapslade strukturer i en serverlös SQL-pool.
Viktigt!
Om du ser oväntade tecken i texten som Mélade
i stället för Mélade
, är databassorteringen inte inställd på UTF-8-sortering .
Ändra sortering av databasen till UTF-8-sortering med hjälp av en SQL-instruktion som ALTER DATABASE MyLdw COLLATE LATIN1_GENERAL_100_CI_AS_SC_UTF8
.
Platta ut kapslade matriser
Azure Cosmos DB-data kan ha kapslade underrockar som författarens matris från en CORD-19-datauppsättning :
{
"paper_id": <str>, # 40-character sha1 of the PDF
"metadata": {
"title": <str>,
"authors": [ # list of author dicts, in order
{
"first": <str>,
"middle": <list of str>,
"last": <str>,
"suffix": <str>,
"affiliation": <dict>,
"email": <str>
},
...
],
...
}
I vissa fall kan du behöva "koppla" egenskaperna från det översta objektet (metadata) med alla element i matrisen (författare). Med en serverlös SQL-pool kan du platta ut kapslade strukturer genom att använda OPENJSON
funktionen på den kapslade matrisen:
SELECT
*
FROM
OPENROWSET(
'CosmosDB',
'Account=synapselink-cosmosdb-sqlsample;Database=covid;Key=s5zarR2pT0JWH9k8roipnWxUYBegOuFGjJpSjGlR36y86cW0GQ6RaaG8kGjsRAQoWMw1QKTkkX8HQtFpJjC8Hg==',
Cord19
) WITH ( title varchar(1000) '$.metadata.title',
authors varchar(max) '$.metadata.authors' ) AS docs
CROSS APPLY OPENJSON ( authors )
WITH (
first varchar(50),
last varchar(50),
affiliation nvarchar(max) as json
) AS a
Resultatet av den här frågan kan se ut som i följande tabell:
rubrik | författare | Första | senaste | anknytning |
---|---|---|---|---|
Kompletterande information En ekoepidemi... | [{"first":"Julien","last":"Mélade","suffix":"","affiliation":{"laboratory":"Centre de Recher… |
Julien | Mélade | {"laboratory":"Centre de Recher… |
Kompletterande information En ekoepidemi... | [{"first":"Nicolas","last":"4#","suffix":"","affiliation":{"laboratory":"","institution":"U… |
Nicolas | Nr 4 | {"laboratory":"","institution":"U… |
Kompletterande information En ekoepidemi... | [{"first":"Beza","last":"Ramazindrazana","suffix":"","affiliation":{"laboratory":"Centre de Recher… |
Beza | Ramazindrazana | {"laboratory":"Centre de Recher… |
Kompletterande information En ekoepidemi... | [{"first":"Olivier","last":"Flores","suffix":"","affiliation":{"laboratory":"UMR C53 CIRAD, … |
Olivier | Flores | {"laboratory":"UMR C53 CIRAD, … |
Viktigt!
Om du ser oväntade tecken i texten som Mélade
i stället för Mélade
, är databassorteringen inte inställd på UTF-8-sortering . Ändra sortering av databasen till UTF-8-sortering med hjälp av en SQL-instruktion som ALTER DATABASE MyLdw COLLATE LATIN1_GENERAL_100_CI_AS_SC_UTF8
.
Azure Cosmos DB till SQL-typmappningar
Även om Azure Cosmos DB-transaktionsarkivet är schemaagnostiskt schemaförs analysarkivet för att optimera för analysfrågasprestanda. Med funktionen autosynkronisering i Azure Synapse Link hanterar Azure Cosmos DB schemarepresentationen i analysarkivet, vilket inkluderar hantering av kapslade datatyper. Eftersom en serverlös SQL-pool frågar analysarkivet är det viktigt att förstå hur du mappar Indatatyper för Azure Cosmos DB till SQL-datatyper.
Azure Cosmos DB-konton för SQL -API (Core) stöder JSON-egenskapstyper för tal, sträng, boolesk, null, kapslat objekt eller matris. Du skulle behöva välja SQL-typer som matchar dessa JSON-typer om du använder WITH
-satsen i OPENROWSET
. I följande tabell visas de SQL-kolumntyper som ska användas för olika egenskapstyper i Azure Cosmos DB.
Egenskapstyp för Azure Cosmos DB | SQL-kolumntyp |
---|---|
Booleskt | bit |
Integer | bigint |
Decimal | flyttal |
String | varchar (UTF-8-databassortering) |
Datumtid (ISO-formaterad sträng) | varchar(30) |
Datumtid (UNIX-tidsstämpel) | bigint |
Null | any SQL type |
Kapslat objekt eller matris | varchar(max) (UTF-8-databassortering), serialiserad som JSON-text |
Fullständigt återgivningsschema
Azure Cosmos DB:s fullständiga återgivningsschema registrerar båda värdena och deras bästa matchningstyper för varje egenskap i en container. Funktionen OPENROWSET
i en container med fullständigt återgivningsschema ger både typen och det faktiska värdet i varje cell. Anta att följande fråga läser objekten från en container med fullständigt återgivningsschema:
SELECT *
FROM OPENROWSET(
'CosmosDB',
'account=MyCosmosDbAccount;database=covid;region=westus2;key=C0Sm0sDbKey==',
Ecdc
) as rows
Resultatet av den här frågan returnerar typer och värden som är formaterade som JSON-text:
date_rep | cases | geo_id |
---|---|---|
{"date":"2020-08-13"} | {"int32":"254"} | {"sträng":"RS"} |
{"date":"2020-08-12"} | {"int32":"235"} | {"sträng":"RS"} |
{"date":"2020-08-11"} | {"int32":"316"} | {"sträng":"RS"} |
{"date":"2020-08-10"} | {"int32":"281"} | {"sträng":"RS"} |
{"date":"2020-08-09"} | {"int32":"295"} | {"sträng":"RS"} |
{"sträng":"2020/08/08"} | {"int32":"312"} | {"sträng":"RS"} |
{"date":"2020-08-07"} | {"float64":"339.0"} | {"sträng":"RS"} |
För varje värde kan du se den typ som identifieras i ett Azure Cosmos DB-containerobjekt. De flesta värden för date_rep
egenskapen innehåller date
värden, men vissa av dem lagras felaktigt som strängar i Azure Cosmos DB. Fullständigt återgivningsschema returnerar både korrekt inskrivna date
värden och felaktigt formaterade string
värden.
Antalet fall är information som lagras som ett int32
värde, men det finns ett värde som anges som ett decimaltal. Det här värdet har float64
typen . Om det finns några värden som överskrider det största int32
talet lagras de som int64
typ. Alla geo_id
värden i det här exemplet lagras som string
typer.
Viktigt!
Funktionen OPENROWSET
utan en WITH
sats exponerar både värden med förväntade typer och värden med felaktigt angivna typer. Den här funktionen är utformad för datautforskning och inte för rapportering. Parsa inte JSON-värden som returneras från den här funktionen för att skapa rapporter. Använd en explicit WITH-sats för att skapa dina rapporter. Du bör rensa de värden som har felaktiga typer i Azure Cosmos DB-containern för att tillämpa korrigeringar i det fullständiga analysarkivet för återgivning.
Om du vill fråga Azure Cosmos DB om MongoDB-konton kan du läsa mer om den fullständiga återgivningsschemarepresentationen i analysarkivet och de utökade egenskapsnamn som ska användas i Vad är Azure Cosmos DB Analytical Store?.
Fråga efter objekt med fullständigt återgivningsschema
När du kör frågor mot fullständigt återgivningsschema måste du uttryckligen ange SQL-typen och den förväntade Azure Cosmos DB-egenskapstypen i WITH
-satsen.
I följande exempel antar vi att det string
är rätt typ för geo_id
egenskapen och int32
är rätt typ för egenskapen cases
:
SELECT geo_id, cases = SUM(cases)
FROM OPENROWSET(
'CosmosDB'
'account=MyCosmosDbAccount;database=covid;region=westus2;key=C0Sm0sDbKey==',
Ecdc
) WITH ( geo_id VARCHAR(50) '$.geo_id.string',
cases INT '$.cases.int32'
) as rows
GROUP BY geo_id
Värden för geo_id
och cases
som har andra typer returneras som NULL
värden. Den här frågan refererar endast cases
till med den angivna typen i uttrycket (cases.int32
).
Om du har värden med andra typer (cases.int64
, cases.float64
) som inte kan rensas i en Azure Cosmos DB-container måste du uttryckligen referera till dem i en WITH
-sats och kombinera resultaten. Följande fråga aggregerar både int32
, int64
och float64
lagras i cases
kolumnen:
SELECT geo_id, cases = SUM(cases_int) + SUM(cases_bigint) + SUM(cases_float)
FROM OPENROWSET(
'CosmosDB',
'account=MyCosmosDbAccount;database=covid;region=westus2;key=C0Sm0sDbKey==',
Ecdc
) WITH ( geo_id VARCHAR(50) '$.geo_id.string',
cases_int INT '$.cases.int32',
cases_bigint BIGINT '$.cases.int64',
cases_float FLOAT '$.cases.float64'
) as rows
GROUP BY geo_id
I det här exemplet lagras antalet fall antingen som int32
, int64
eller float64
värden. Alla värden måste extraheras för att beräkna antalet ärenden per land/region.
Felsökning
Gå igenom självhjälpssidan för att hitta kända problem eller felsökningssteg som kan hjälpa dig att lösa potentiella problem med Azure Cosmos DB-frågor.
Nästa steg
Mer information finns i följande artiklar:
- Använda Power BI och serverlös SQL-pool med Azure Synapse Link
- Skapa och använda vyer i en serverlös SQL-pool
- Självstudie om att skapa serverlösa SQL-poolvyer över Azure Cosmos DB och ansluta dem till Power BI-modeller via DirectQuery
- Gå till självhjälpssidan för Azure Synapse-länken för Azure Cosmos DB om du får några fel eller upplever prestandaproblem.
- Kolla in Learn-modulen om hur du kör frågor mot Azure Cosmos DB med SQL Serverless för Azure Synapse Analytics.