Not
Åtkomst till denna sida kräver auktorisation. Du kan prova att logga in eller byta katalog.
Åtkomst till denna sida kräver auktorisation. Du kan prova att byta katalog.
GraphQL är ett frågespråk med öppen källkod och körning för API:er som underhålls av GraphQL Foundation. Till skillnad från traditionella REST-API:er gör GraphQL det möjligt för klienter att begära exakt de data de behöver i en enda fråga, vilket minskar överhämtning och underhämtning av data.
Microsoft Fabric API för GraphQL ger den här kraftfulla standarden till Fabric-ekosystemet som ett dataåtkomstlager som gör att du snabbt och effektivt kan köra frågor mot flera datakällor. API:et abstraherar detaljerna för serverdelsdatakällor så att du fokuserar på programmets logik och tillhandahåller alla data som en klient behöver i ett enda anrop. Med sitt enkla frågespråk och effektiva resultatuppsättningsmanipulering minimerar GraphQL den tid det tar för program att komma åt dina data i Fabric.
Varför använda GraphQL för Infrastrukturdata
Utan GraphQL kräver det vanligtvis någon av följande metoder för att exponera Fabric-data för program:
Direktdatabasanslutningar
- Applikationer ansluter sig direkt till lakehouses eller datalager med hjälp av SQL-drivrutiner (ODBC, JDBC)
- Kopplar programkoden tätt till databasscheman – schemaändringar orsakar att programmen slutar fungera
- Kräver hantering av anslutningssträngar, autentiseringsuppgifter och drivrutinsberoenden i varje program
- SQL-frågor inbäddade i programkod är svåra att testa och underhålla
Anpassade REST-API:er
- Skapa och underhålla anpassade serverdelstjänster med ramverk som ASP.NET eller Node.js
- Skriva kontrollantkod, routningslogik och dataåtkomstlager för varje slutpunkt
- Skapa separata API-versioner (v1, v2, v3) när datastrukturerna ändras
- Överhämta data (hämta hela rader när du behöver några kolumner) eller underhämta (gör flera anrop för relaterad data)
GraphQL löser dessa utmaningar:
- Ingen backendkod krävs: Fabric genererar automatiskt GraphQL-schemat, resolver och slutpunkt från dina datakällor.
- Fråga exakt vad du behöver: Begär specifika fält i en enda fråga, vilket eliminerar överhämtning och minskar nyttolaststorlekarna
- Hämta relaterade data i en begäran: Gå igenom relationer utan flera omgångar (inget N+1-frågeproblem)
- Schemautveckling utan icke-bakåtkompatibla ändringar: Lägg till nya fält utan att påverka befintliga frågor – klienter begär bara vad de vet om
- Typsäkerhet och dokumentation: Självdokumenteringsschema med inbyggd introspektion som utvecklingsverktygen förstår
- Enhetlig åtkomst till flera källor: Göra förfrågningar mot lakehouses, datavaruhus och SQL-databaser via en enda slutpunkt
För programutvecklare innebär GraphQL snabbare utveckling med mindre infrastruktur. För datatekniker innebär det att exponera data utan att skriva och underhålla anpassad API-kod.
Vem ska använda API för GraphQL
Fabrics API för GraphQL är utformat för:
- Programutvecklare skapar datadrivna webb- och mobilprogram som använder Fabric Lakehouse- och lagerdata
- Datatekniker exponerar Infrastrukturdata för underordnade program via moderna, flexibla API:er utan att skriva anpassad serverdelskod
- Integrationsutvecklare som ansluter Infrastrukturdata till anpassade program och automatiserade arbetsflöden
- BI-utvecklare skapar anpassade analysapplikationer som kompletterar Power BI med Fabric-data
- Dataforskare exponerar Fabric-data och maskininlärningsinsikter via programmatiska API:er
Om du arbetar inom Microsoft Fabric Unified Analytics-plattformen och behöver göra lakehouse-, lager- eller SQL-databasdata tillgängliga för program, är GraphQL-API:et ett effektivt, utvecklarvänligt sätt att fråga exakt de data du behöver.
Tips/Råd
Vill du integrera Fabric GraphQL-API:er med AI-agenter? Prova självstudien Skapa en lokal GraphQL MCP-server för AI-agenter för att ansluta AI-agenter till din Fabric data med hjälp av Model Context Protocol.
Exponera data via API:et för GraphQL
Det är enkelt att exponera datakällor för ett GraphQL-objekt i Microsoft Fabric och kan utföras på några minuter med hjälp av Fabric-portalens visuella gränssnitt. Processen omfattar:
- Skapa ett GraphQL API-objekt i din Fabric-arbetsyta
- Anslut dina datakällor genom att välja från tillgängliga databrunnar, lager eller databaser
- Välj vilka objekt som ska exponeras, till exempel tabeller, vyer eller lagrade procedurer
- Definiera relationer (valfritt) mellan objekt för att aktivera kraftfulla kapslade frågor
- Konfigurera behörigheter för att styra vem som kan komma åt ditt API
När det har konfigurerats genererar Fabric automatiskt GraphQL-schemat, skapar nödvändiga matchare och ger dig en slutpunkts-URL. Ditt API är omedelbart redo att acceptera frågor – ingen distribution eller infrastrukturkonfiguration krävs.
För stegvisa instruktioner, se Skapa ett API för GraphQL i Fabric och lägga till data.
Datakällor som stöds
För närvarande exponeras följande datakällor som stöds via Fabric API för GraphQL:
- Microsoft Fabric Data Warehouse
- Microsoft Fabric SQL-databas
- Microsoft Fabric Lakehouse via SQL Analytics-slutpunkt
- Microsoft Fabric-speglade databaser via SQL Analytics-slutpunkten, inklusive:
- Azure SQL Database
- Hanterad instans i Azure SQL
- Azure Cosmos DB
- Microsoft Fabric SQL Database
- Azure Databricks
- Snowflake
- Öppna speglade databaser
- Azure SQL-databas
- Datamart
Funktioner
Microsoft Fabric API för GraphQL innehåller omfattande funktioner som effektiviserar dataåtkomsten för program. Med de här funktionerna kan du skapa robusta data-API:er med minimal konfiguration, från automatisk kodgenerering till prestandaövervakning.
Automatisk schemagenerering
- Schemaidentifiering: Identifierar och mappar automatiskt datakällscheman till GraphQL-typer
- Fråge- och mutationsgenerering: Skapar GraphQL-frågor och mutationer baserat på din datastruktur
- Lösningsgenerering: Genererar automatiskt de matchare som behövs för att hämta data från dina källor
- Lokal testkod: Genererar exempelkod för omedelbar testning och utveckling
Flexibilitet för datakälla
- Flera datakällor: Ansluta och fråga över flera datakällor med stöd för förgrenade frågor
- Databasobjekt: Fullständigt stöd för tabeller, vyer och lagrade procedurer i SQL-databaser och informationslager
- Selektiv exponering: Välj specifika objekt och kolumner som ska exponeras via API:et
- Relationsmodellering: Skapa en-till-en-, en-till-många- och många-till-många-relationer mellan dataentiteter
Verksamhet och övervakning
- Prestandaövervakning: Inbyggd instrumentpanel och begärandeloggning för att spåra API-beteende och användning
Schemautveckling utan versionshantering
GraphQL har en unik metod för API-utveckling genom att undvika traditionell versionshantering. I stället för att skapa v1-, v2- och v3-slutpunkter utvecklas GraphQL-API:er kontinuerligt:
- Additiva ändringar: Du kan lägga till nya typer, fält och funktioner utan att bryta befintliga frågor. Klienter begär bara de fält de behöver, så nya fält påverkar dem inte.
- Bakåtkompatibilitet: Befintliga frågor fortsätter att fungera även när schemat växer, eftersom GraphQL endast returnerar uttryckligen begärda data.
- Utfasning över borttagning: Fält kan markeras som inaktuella i stället för att omedelbart tas bort, vilket ger klienterna tid att anpassa sig.
- Enskild slutpunkt: Program ansluter alltid till samma slutpunkt, oavsett schemaändringar.
Den här metoden förenklar API-underhåll och klientuppgraderingar jämfört med traditionella versions-API:er. När du ändrar GraphQL API-schemat i Fabric fortsätter befintliga program att fungera så länge du lägger till nya funktioner i stället för att ta bort eller byta namn på befintliga fält. Mer information om hur du hanterar schemaändringar finns i Infrastruktur-API för GraphQL-introspektion och schemaexport.
Interaktiv redigeringsupplevelse
API:et för GraphQL innehåller en redigerare som gör att du enkelt kan utveckla och testa dina frågor och mutationer. Redigerarens funktioner är:
- Ett resultatfönster för att visualisera utdata från frågor och mutationer
- Stöd för fråge- och mutationsparametrar
- Intellisense som stöder GraphQL-syntax och schemaobjektnamn
Mer information om hur du använder GraphQL-redigeraren finns i API för GraphQL-redigeraren.
Begränsningar
Mer information finns i API för GraphQL-begränsningar .