Del via


Ofte stillede spørgsmål om Fabric API til GraphQL

Find svar på ofte stillede Fabric-API'er til GraphQL-spørgsmål.

Hvad er GraphQL?

GraphQL er et forespørgselssprog til API'er, der gør det muligt for apps at anmode om præcis de data, de har brug for. De vigtigste fordele omfatter:

  • Stærkt typesystem - Beskriver klart tilgængelige data
  • Præcis datahentning - Reducerer over-fetching ved at tillade specifikke forespørgsler
  • Bagudkompatibilitet - Gør API-opdateringer nemmere uden at ødelægge eksisterende kode
  • Rich tooling - Muliggør brug af et bredt udvalg af udviklerværktøjer

Det er en mere effektiv måde for programmer at kommunikere med servere og databaser på.

Hvad er Microsoft Fabric API til GraphQL?

Microsoft Fabric API for GraphQL er en administreret tjeneste, der gør det muligt at oprette et GraphQL API på få sekunder.

Understøttede datakilder:

  • Microsoft Fabric Data Warehouses
  • Microsoft Fabric Lakehouses
  • Microsoft Fabric spejlede databaser
  • Microsoft Fabric SQL-databaser
  • Azure SQL-databaser

Det giver et samlet API-lag til forespørgsel og mutering af data fra disse understøttede datakilder.

Hvilke GraphQL-handlinger understøttes i Fabric API til GraphQL?

Det er kun GraphQL-forespørgsler (læse) og mutationer (skrivning), der understøttes i øjeblikket. Datakilder, der eksponeres via SQL Analytics-slutpunkter, er skrivebeskyttede og understøtter derfor kun forespørgsler. For Data Warehouses skal der defineres en primær nøgle for at mutationer automatisk kan genereres.

Hvordan kan jeg få vist og redigere fortolkere i Fabric API til GraphQL?

Resolvers er GraphQL-komponenter, der leverer forretningslogik til at løse felter i API'en og udføre handlinger med data, der findes i datakilderne.

Automatisk generering: Fabric genererer automatisk resolvere, hver gang du tilknytter en ny datakilde eller vælger nye objekter, der skal eksponeres fra en eksisterende datakilde.

Tilpasning: Lige nu er det ikke muligt at tilpasse resolvers direkte. I forbindelse med brugerdefineret forretningslogik i API til GraphQL kan du oprette en lagret procedure i datakilden og vise den i GraphQL-API'en.

Kræver API'en til GraphQL-klientprogrammet adgang til datakilden for at kunne udføre forespørgsler eller mutationer?

Microsoft Entra ID-autentificering: API til GraphQL kræver, at applikationer bruger Microsoft Entra ID til autentificering. Din klientapplikation skal være registreret og konfigureret til at udføre API-kald mod Fabric.

Påkrævede tilladelser:

  • Den app, der er registreret i Microsoft Entra, kræver GraphQLApi.Execute.All tilladelser til Power BI-tjenesten. Du kan få flere oplysninger under Opret en Microsoft Entra-app i Azure.

Single sign-on (SSO) konfiguration: Hvis API'et er konfigureret til at bruge SSO, kræver den autentificerede bruger eller tjenesteprincipal adgang til begge:

  • GraphQL API'en (Run Queries and Mutations-tilladelse )
  • Datakilden (læse- eller skriveadgang efter behov)

Adgangsmulighed på arbejdsområdeniveau: Alternativt kan brugeren eller servicehovedpersonen tildeles som et arbejdsområdemedlem med en bidragyderrolle , hvor både API'en og datakildeelementerne er placeret. Dette giver den nødvendige adgang til begge genstande fra ét sted. Du kan få flere oplysninger under Giv brugere adgang til arbejdsområder.

Konfiguration af gemte legitimationsoplysninger: Hvis API'et er konfigureret til at bruge gemte legitimationsoplysninger, behøver den autentificerede bruger eller tjenesteprincipal kun adgang til API'et (vælg Kør forespørgsler og mutationer , når du tilføjer direkte adgangstilladelser til API'en).

Eksempler: Du kan finde et end-to-end eksempel med eksempelkode for både user principals og service principals hos Connect Applications.

Hvordan gør jeg åbne en supportanmodning til API til GraphQL?

Hvis du vil have hjælp fra Microsoft Support om et hvilket som helst problem, der er relateret til Fabric API til GraphQL, skal du gå til vores Fabric Support-websted og vælge indstillingen Dataudvikler ing.

API til GraphQL understøtter ikke Privat link på nuværende tidspunkt.

Hvorfor fungerer min anmodning dårligt, første gang jeg udsteder den, og klarer den derefter godt på efterfølgende anmodninger?

Der er to hovedårsager til denne "cold start"-adfærd:

Opvarmning af datakilde:

  • Den første anmodning kan tage længere tid, hvis en datakilde skal varmes op fra en kold tilstand
  • Selv hvis datakilden ikke er kold, kan datahentning være mindre effektiv første gang GraphQL laver en forespørgsel, hvis datakilden ikke har de nødvendige data indlæst i hukommelsen

API-endpoint-initialisering:

  • Den første forespørgsel til et API for GraphQL-endpointet kan tage længere tid, fordi systemet skal indlæse dit skema og din konfiguration
  • Efterfølgende anmodninger går hurtigere, fordi systemet allerede er varmet op og klar til at håndtere dine anmodninger

Du kan finde flere oplysninger i bedste praksis for ydeevne.

Hvordan kan jeg give feedback eller forslag til API til GraphQL?

Vi glæder os over din feedback og dine forslag! Du kan give feedback via Fabric Ideas. Vores team overvåger aktivt den feedback og de forslag, der indsendes via denne platform. Du kan også kontakte os via Microsoft Fabric Support for specifikke forespørgsler eller bekymringer.