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 bygger datadrevne web- og mobilapplikasjoner som konsumerer lakehouse- og warehouse-data i Fabric
- 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 Fabric sin enhetlige analyseplattform og trenger å gjøre lakehouse-, warehouse- eller SQL-databasedata tilgjengelig for applikasjoner, gir GraphQL API en effektiv og utviklervennlig måte å spørre nøyaktig dataene du trenger på.
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 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:
- Fabric datalager
- SQL-database i Fabric
- Fabric Lakehouse via SQL Analytics Endpoint
- Fabric-speilede databaser via SQL Analytics Endpoint, inkludert:
- Azure SQL Database
- Azure SQL Managed Instance
- Azure Cosmos DB
- SQL-database i Fabric
- Azure Databricks
- Snowflake
- Åpne speilvendte databaser
- Azure SQL-database
Bemerkning
Hvert objekt (tabell eller visning) du eksponerer gjennom API-et for GraphQL må ha en primærnøkkel. Du kan ikke eksponere et nøkkelløst objekt, som en aggregert visning uten en nøkkel. Skjemagenerering feiler for et nøkkelløst objekt. Når du binder til en SQL-database i Fabric, må objektets skjema først være tilgjengelig på databasens SQL-analyseendepunkt.
Funksjoner
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.