Del via


Hva er Microsoft Fabric API for GraphQL?

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:

  1. Opprett et GraphQL API-element i Fabric-arbeidsområdet ditt
  2. Koble datakildene dine ved å velge fra tilgjengelige innsjøhus, lagre eller databaser
  3. Velg hvilke objekter som skal eksponeres , som tabeller, visninger eller lagrede prosedyrer
  4. Definer relasjoner (valgfrie) mellom objekter for å muliggjøre kraftige nestede spørringer
  5. 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.