Bemærk
Adgang til denne side kræver godkendelse. Du kan prøve at logge på eller ændre mapper.
Adgang til denne side kræver godkendelse. Du kan prøve at ændre mapper.
GraphQL er et open source-forespørgselssprog og runtime for API'er, der vedligeholdes af GraphQL Foundation. I modsætning til traditionelle REST-API'er gør GraphQL det muligt for klienter at anmode om præcis de data, de har brug for, i en enkelt forespørgsel, hvilket reducerer over- og underhentning af data.
Microsoft Fabric API for GraphQL bringer denne kraftfulde standard til Fabric-økosystemet som et dataadgangslag, der lader dig forespørge flere datakilder hurtigt og effektivt. API'en abstraherer detaljerne for backend-datakilder, så du fokuserer på din applikations logik og leverer alle de data, en klient har brug for, i et enkelt kald. Med sit simple forespørgselssprog og effektive manipulation af resultatsæt minimerer GraphQL den tid, applikationer bruger på at tilgå dine data i Fabric.
Hvorfor bruge GraphQL til Fabric-data
Uden GraphQL kræver eksponering af Fabric-data for applikationer typisk en af disse tilgange:
Direkte databaseforbindelser
- Applikationer forbinder direkte til lakehouses eller lagre ved hjælp af SQL-drivere (ODBC, JDBC)
- Kobler applikationskode tæt til databaseskemaer – skemaændringer ødelægger applikationer
- Kræver håndtering af forbindelsesstrenge, legitimationsoplysninger og driverafhængigheder i alle applikationer
- SQL-forespørgsler indlejret i applikationskoden er svære at teste og vedligeholde
Brugerdefinerede REST API'er
- Byg og vedligehold tilpassede backend-tjenester med frameworks som ASP.NET eller Node.js
- Skriv controller-kode, routinglogik og dataadgangslag for hvert endpoint
- Opret separate API-versioner (v1, v2, v3), når datastrukturer ændrer sig
- Over-fetch data (hent hele rækker, når du har brug for få kolonner) eller under-fetch (lav flere rundrejser for relaterede data)
GraphQL løser disse udfordringer:
- Ingen backend-kode kræves: Fabric genererer automatisk GraphQL-skemaet, resolverne og endpointet fra dine datakilder
- Forespørg præcis det, du har brug for: Anmod specifikke felter i en enkelt forespørgsel, så over-fetching og laststørrelserne reduceres
- Hent relaterede data i én forespørgsel: Traverser-relationer uden flere rundture (ingen N+1-forespørgselsproblem)
- Skemaudvikling uden at bryde ændringer: Tilføj nye felter uden at påvirke eksisterende forespørgsler—klienterne beder kun om det, de ved
- Typesikkerhed og dokumentation: Selvdokumenterende skema med indbygget introspektion, som udviklingsværktøjer forstår
- Samlet adgang til flere kilder: Forespørgsel på tværs af lakehouses, lagre og SQL-databaser via et enkelt endpoint
For applikationsudviklere betyder GraphQL hurtigere udvikling med mindre infrastruktur. For data engineers betyder det at eksponere data uden at skrive og vedligeholde brugerdefineret API-kode.
Hvem bør bruge API til GraphQL
Fabrics API til GraphQL er designet til:
- Applikationsudviklere , der bygger datadrevne web- og mobilapplikationer, som forbruger Fabric lakehouse- og warehouse-data
- Dataingeniører , der eksponerer Fabric-data til downstream-applikationer via moderne, fleksible API'er uden at skrive specialudviklet backend-kode
- Integrationsudviklere , der forbinder Fabric-data til brugerdefinerede applikationer og automatiserede arbejdsgange
- BI-udviklere , der skaber skræddersyede analyseapplikationer, der supplerer Power BI med Fabric-data
- Dataforskere , der eksponerer Fabric-data og maskinlæringsindsigter gennem programmatiske API'er
Hvis du arbejder inden for Microsoft Fabrics samlede analyseplatform og har brug for at gøre lakehouse-, warehouse- eller SQL-databasedata tilgængelige for applikationer, giver GraphQL API'en en effektiv og udviklervenlig måde at forespørge præcis de data, du har brug for.
Tips
Vil du integrere Fabric GraphQL API'er med AI-agenter? Prøv tutorialen Build a local GraphQL MCP-server for AI-agenter for at forbinde AI-agenter til dine Fabric-data ved hjælp af Model Context Protocol.
Vis data via API'en til GraphQL
At eksponere datakilder til et GraphQL-element i Microsoft Fabric er ligetil og kan klares på få minutter ved hjælp af Fabric-portalens visuelle grænseflade. Processen indebærer:
- Opret et GraphQL API-element i dit Fabric-arbejdsområde
- Forbind dine datakilder ved at vælge blandt tilgængelige søhuse, lagre eller databaser
- Vælg hvilke objekter, der skal eksponeres , såsom tabeller, visninger eller lagrede procedurer
- Definér relationer (valgfrie) mellem objekter for at muliggøre kraftfulde indlejrede forespørgsler
- Konfigurer tilladelser til at kontrollere, hvem der kan få adgang til dit API
Når det er konfigureret, genererer Fabric automatisk GraphQL-skemaet, opretter de nødvendige resolvere og giver dig en endpoint-URL. Dit API er straks klar til at modtage forespørgsler—ingen udrulning eller infrastrukturopsætning nødvendig.
For trin-for-trin instruktioner, se Opret et API til GraphQL i Fabric og tilføj data.
Understøttede datakilder
I øjeblikket vises følgende understøttede datakilder via Fabric API til GraphQL:
- Microsoft Fabric Data Warehouse
- Microsoft Fabric SQL-database
- Microsoft Fabric Lakehouse via SQL Analytics-slutpunktet
- Microsoft Fabric Mirrored Databases via SQL Analytics Endpoint, herunder:
- Azure SQL Database
- Administreret forekomst af Azure SQL
- Azure Cosmos DB
- Microsoft Fabric SQL-database
- Azure Databricks
- Snowflake
- Åbn spejlede databaser
- Azure SQL-database
- Datamart
Funktioner
Microsoft Fabric API for GraphQL tilbyder omfattende funktioner, der strømliner dataadgangen for applikationer. Fra automatisk kodegenerering til performanceovervågning gør disse funktioner det muligt at bygge robuste data-API'er med minimal konfiguration.
Automatisk skemagenerering
- Skemaopdagelse: Opdager og kortlægger automatisk datakildeskemaer til GraphQL-typer
- Generering af forespørgsler og mutationer: Opretter GraphQL-forespørgsler og mutationer baseret på din datastruktur
- Resolver-generering: Genererer automatisk de resolvere, der er nødvendige for at hente data fra dine kilder
- Lokal testkode: Genererer eksempelkode til øjeblikkelig testning og udvikling
Fleksibilitet i datakilde
- Flere datakilder: Forbind og forespørg på tværs af flere datakilder med fan-out forespørgselsunderstøttelse
- Databaseobjekter: Fuld understøttelse af tabeller, visninger og lagrede procedurer i SQL-databaser og lagre
- Selektiv eksponering: Vælg specifikke objekter og kolonner til at eksponere gennem API'et
- Relationsmodellering: Opret én-til-én, én-til-mange og mange-til-mange relationer mellem dataenheder
Drift og overvågning
- Performanceovervågning: Indbygget dashboard og anmodningslogging til at spore API-adfærd og -brug
Skemaudvikling uden versionsstyring
GraphQL tager en unik tilgang til API-udvikling ved at undgå traditionel versionering. I stedet for at oprette v1, v2 og v3 endpoints udvikler GraphQL API'er sig kontinuerligt:
- Additive ændringer: Du kan tilføje nye typer, felter og funktioner uden at ødelægge eksisterende forespørgsler. Kunder anmoder kun om de felter, de har brug for, så nye felter påvirker dem ikke.
- Bagudkompatibilitet: Eksisterende forespørgsler fortsætter med at fungere, selv mens skemaet vokser, fordi GraphQL kun returnerer eksplicit anmodede data.
- Forfaldelse over fjernelse: Felter kan markeres som forældede i stedet for straks fjernes, hvilket giver klienterne tid til at tilpasse sig.
- Enkelt endepunkt: Applikationer forbinder altid til det samme endepunkt, uanset skemaændringer.
Denne tilgang forenkler API-vedligeholdelse og klientopgraderinger sammenlignet med traditionelle versionerede API'er. Når du ændrer dit GraphQL API-skema i Fabric, fortsætter eksisterende applikationer med at fungere, så længe du tilføjer nye funktioner i stedet for at fjerne eller omdøbe eksisterende felter. For mere information om håndtering af skemaændringer, se Fabric API for GraphQL introspection og skema-eksport.
Interaktiv redigeringsoplevelse
API'en til GraphQL indeholder en editor, der giver dig mulighed for nemt at udvikle og teste dine forespørgsler og mutationer. Redaktørens muligheder omfatter:
- En resultatrude til visualisering af output af forespørgsler og mutationer
- Understøttelse af forespørgsels- og mutationsparametre
- Intellisense, der understøtter GraphQL-syntaks og skemaobjektnavne
For mere information om brugen af GraphQL-editoren, se API for GraphQL editor.
Begrænsninger
Se API for GraphQL-begrænsninger for at få flere oplysninger.