Merk
Tilgang til denne siden krever autorisasjon. Du kan prøve å logge på eller endre kataloger.
Tilgang til denne siden krever autorisasjon. Du kan prøve å endre kataloger.
GraphQL er et åpen kildekode-spørringsspråk og kjøretid for API-er som vedlikeholdes av GraphQL Foundation. I motsetning til tradisjonelle REST-API-er gjør GraphQL det mulig for klienter å be om nøyaktig de dataene de trenger i én enkelt spørring, noe som reduserer over- og underhenting av data.
Microsoft Fabric API for GraphQL bringer denne kraftige standarden til Fabric-økosystemet som et datatilgang som lar deg spørre flere datakilder raskt og effektivt. API-en abstraherer detaljene til serverdeldatakilder, slik at du fokuserer på programmets logikk og gir alle dataene en klient trenger i ett enkelt kall. Med sitt enkle spørringsspråk og effektive manipulering av resultatsett, minimerer GraphQL tiden applikasjoner bruker på å få tilgang til dataene dine i Fabric.
Hvorfor bruke GraphQL for Fabric-data
Uten GraphQL krever eksponering av Fabric-data for applikasjoner vanligvis en av disse tilnærmingene:
Direkte databaseforbindelser
- Applikasjoner kobles direkte til innsjøhus eller lagre ved hjelp av SQL-drivere (ODBC, JDBC)
- Kobler applikasjonskode tett til databaseskjemaer—skjemaendringer bryter applikasjoner
- Krever håndtering av tilkoblingsstrenger, legitimasjon og driveravhengigheter i alle applikasjoner
- SQL-spørringer innebygd i applikasjonskode er vanskelige å teste og vedlikeholde
Egendefinerte REST-API-er
- Bygg og vedlikehold tilpassede backend-tjenester med rammeverk som ASP.NET eller Node.js
- Skriv kontrollerkode, rutinglogikk og datatilgangslag for hvert endepunkt
- Lag separate API-versjoner (v1, v2, v3) når datastrukturer endres
- Over-fetch data (hent hele rader når du trenger noen kolonner) eller under-fetch (gjør flere rundturer for relaterte data)
GraphQL løser disse utfordringene:
- Ingen backend-kode kreves: Fabric genererer automatisk GraphQL-skjemaet, resolverne og endepunktet fra datakildene dine
- Spør nøyaktig det du trenger: Be om spesifikke felt i én spørring, eliminer overhenting og redusert nyttelaststørrelser
- Hente relaterte data i én forespørsel: Traverseringsforhold uten flere rundturer (ingen N+1-spørringsproblem)
- Skjemautvikling uten å bryte endringer: Legg til nye felt uten å påvirke eksisterende spørringer—klientene ber kun om det de vet om
- Typesikkerhet og dokumentasjon: Selvdokumenterende skjema med innebygd introspeksjon som utviklingsverktøy forstår
- Enhetlig tilgang til flere kilder: Spørring på tvers av innsjøhus, lagre og SQL-databaser gjennom ett enkelt endepunkt
For applikasjonsutviklere betyr GraphQL raskere utvikling med mindre infrastruktur. For dataingeniører betyr det å eksponere data uten å skrive og vedlikeholde egendefinert API-kode.
Hvem bør bruke API for GraphQL
Fabrics API for GraphQL er designet for:
- Applikasjonsutviklere som bygger datadrevne web- og mobilapplikasjoner som bruker Fabric lakehouse- og warehouse-data
- Dataingeniører eksponerer Fabric-data for nedstrømsapplikasjoner gjennom moderne, fleksible API-er uten å skrive egendefinert backend-kode
- Integrasjonsutviklere kobler Fabric-data til tilpassede applikasjoner og automatiserte arbeidsflyter
- BI-utviklere som lager skreddersydde analyseapplikasjoner som utfyller Power BI med Fabric-data
- Dataforskere som eksponerer Fabric-data og maskinlæringsinnsikt gjennom programmatiske API-er
Hvis du jobber innenfor Microsoft Fabrics enhetlige analyseplattform og trenger å gjøre lakehouse-, warehouse- eller SQL-databasedata tilgjengelig for applikasjoner, gir GraphQL API-et en effektiv og utviklervennlig måte å spørre nøyaktig de dataene du trenger.
Tip
Vil du integrere Fabric GraphQL API-er med AI-agenter? Prøv veiledningen Bygg en lokal GraphQL MCP-server for AI-agenter for å koble AI-agenter til Fabric-dataene dine ved hjelp av Model Context Protocol.
Vise data gjennom API-en for GraphQL
Å eksponere datakilder for et GraphQL-element i Microsoft Fabric er enkelt og kan gjøres på minutter ved hjelp av Fabric-portalens visuelle grensesnitt. Prosessen innebærer:
- Opprett et GraphQL API-element i Fabric-arbeidsområdet ditt
- Koble datakildene dine ved å velge fra tilgjengelige innsjøhus, lagre eller databaser
- Velg hvilke objekter som skal eksponeres , som tabeller, visninger eller lagrede prosedyrer
- Definer relasjoner (valgfrie) mellom objekter for å muliggjøre kraftige nestede spørringer
- Konfigurer tillatelser for å kontrollere hvem som kan få tilgang til API-et ditt
Når det er konfigurert, genererer Fabric automatisk GraphQL-skjemaet, lager nødvendige resolvere og gir deg en endepunkt-URL. API-et ditt er umiddelbart klart til å ta imot spørringer—ingen utrulling eller infrastrukturoppsett kreves.
For trinnvise instruksjoner, se Lag et API for GraphQL i Fabric og legg til data.
Støttede datakilder
For øyeblikket eksponeres følgende støttede datakilder gjennom Fabric API for GraphQL:
- Microsoft Fabric Data Warehouse
- Microsoft Fabric SQL-database
- Microsoft Fabric Lakehouse via SQL Analytics-endepunkt
- Microsoft Fabric Mirrored Databases via SQL Analytics Endpoint, inkludert:
- Azure SQL Database
- Azure SQL Managed Instance
- Azure Cosmos DB
- Microsoft Fabric SQL-database
- Azure Databricks
- Snowflake
- Åpne speilvendte databaser
- Azure SQL-database
- Datamart
Funksjoner
Microsoft Fabric API for GraphQL gir omfattende funksjoner som effektiviserer datatilgangen for applikasjoner. Fra automatisk kodegenerering til ytelsesovervåking, gjør disse funksjonene det mulig å bygge robuste data-API-er med minimal konfigurasjon.
Automatisk skjemagenerering
- Skjemaoppdagelse: Oppdager og kartlegger automatisk datakildeskjemaer til GraphQL-typer
- Generering av spørring og mutasjon: Oppretter GraphQL-spørringer og mutasjoner basert på datastrukturen din
- Resolver-generering: Genererer automatisk resolverne som trengs for å hente data fra kildene dine
- Lokal testkode: Genererer eksempelkode for umiddelbar testing og utvikling
Fleksibilitet i datakilde
- Flere datakilder: Koble til og spørre på tvers av flere datakilder med støtte for fan-out-spørring
- Databaseobjekter: Full støtte for tabeller, visninger og lagrede prosedyrer i SQL-databaser og varehus
- Selektiv eksponering: Velg spesifikke objekter og kolonner å eksponere gjennom API-et
- Relasjonsmodellering: Lag én-til-én, én-til-mange, og mange-til-mange-relasjoner mellom dataenheter
Drift og overvåking
- Ytelsesovervåking: Innebygd dashbord og forespørselslogg for å spore API-adferd og bruk
Skjemautvikling uten versjonering
GraphQL har en unik tilnærming til API-utvikling ved å unngå tradisjonell versjonering. I stedet for å lage v1-, v2- og v3-endepunkter, utvikler GraphQL-API-er seg kontinuerlig:
- Additive endringer: Du kan legge til nye typer, felt og muligheter uten å ødelegge eksisterende spørringer. Klientene ber kun om de feltene de trenger, så nye felt påvirker dem ikke.
- Bakoverkompatibilitet: Eksisterende spørringer fortsetter å fungere selv etter hvert som skjemaet vokser, fordi GraphQL kun returnerer eksplisitt forespurte data.
- Avskrivning over fjerning: Felt kan merkes som utdatert i stedet for å fjernes umiddelbart, noe som gir klientene tid til å tilpasse seg.
- Enkelt endepunkt: Applikasjoner kobler alltid til samme endepunkt, uavhengig av skjemaendringer.
Denne tilnærmingen forenkler API-vedlikehold og klientoppgraderinger sammenlignet med tradisjonelle versjonerte API-er. Når du endrer GraphQL API-skjemaet ditt i Fabric, fortsetter eksisterende applikasjoner å fungere så lenge du legger til nye funksjoner i stedet for å fjerne eller gi nytt navn til eksisterende felt. For mer informasjon om håndtering av skjemaendringer, se Fabric API for GraphQL introspeksjon og skjema-eksport.
Interaktiv redigeringsopplevelse
API-en for GraphQL inkluderer en editor som lar deg enkelt utvikle og teste spørringene og mutasjonene dine. Redaktørens funksjoner inkluderer:
- En resultatrute for å visualisere utdataene fra spørringer og mutasjoner
- Støtte for spørrings- og mutasjonsparametere
- Intellisense som støtter GraphQL-syntaks og skjemaobjektnavn
For mer informasjon om bruk av GraphQL-editoren, se API for GraphQL editor.
Begrensninger
Se API for GraphQL-begrensninger for mer informasjon.