Hitta svar på vanliga frågor om Fabric API för GraphQL-frågor.
Vad är GraphQL?
GraphQL är ett frågespråk för API:er som gör att appar kan begära exakt de data de behöver. Viktiga fördelar är:
- Starkt typsystem – Beskriver tydligt tillgängliga data
- Exakt datahämtning – minskar överhämtningen genom att tillåta specifika begäranden
- Bakåtkompatibilitet – Gör API-uppdateringar enklare utan att bryta befintlig kod
- Rika verktyg – Möjliggör användning av en bred uppsättning utvecklarverktyg
Det är ett effektivare sätt för program att kommunicera med servrar och databaser.
Vad är Microsoft Fabric API för GraphQL?
Microsoft Fabric API för GraphQL är en hanterad tjänst som gör att du kan skapa ett GraphQL-API på några sekunder.
Datakällor som stöds:
- Microsoft Fabric informationslager
- Microsoft Fabric Lakehouses
- Microsoft Fabric speglade databaser
- Microsoft Fabric SQL-databaser
- Azure SQL databas
Det ger ett enhetligt API-lager för att fråga och mutera data från dessa datakällor som stöds.
Vilka GraphQL-åtgärder stöds i Fabric API för GraphQL?
För närvarande stöds endast GraphQL-frågor (läsning) och mutationer (skrivning). Datakällor som exponeras via SQL Analytics-slutpunkter är skrivskyddade och stöder därför endast frågor. För datalager måste en primärnyckel definieras för att mutationer ska genereras automatiskt.
Hur kan jag visa och redigera resolvers i Fabric API för GraphQL?
Matchare är GraphQL-komponenter som tillhandahåller affärslogik för att matcha fält i API:et och utföra åtgärder med data som finns i datakällorna.
Automatisk generering: Fabric genererar automatiskt lösare när du kopplar en ny datakälla eller väljer nya objekt att exponera för exponering från en befintlig datakälla.
Anpassning: För närvarande går det inte att anpassa lösare direkt. För anpassad affärslogik i API för GraphQL kan du skapa en lagrad procedur i datakällan och exponera den i GraphQL-API:et.
Kräver API:et för GraphQL-klientprogrammet access till datakällan för att kunna utföra frågor eller mutationer?
Microsoft Entra ID authentication: API för GraphQL kräver att program använder Microsoft Entra ID för autentisering. Klientprogrammet måste vara registrerat och konfigurerat för att köra API-anrop mot Fabric.
Behörigheter som krävs:
- Appen som är registrerad i Microsoft Entra kräver GraphQLApi.Execute.All behörigheter för Power BI service. Mer information finns i Skapa en Microsoft Entra-app i Azure.
Single sign-on (SSO)-konfiguration: Om API:et har konfigurerats för att använda SSO kräver tillgång till båda:
- GraphQL API (behörigheten Kör frågor och mutationer )
- Datakällan (läs- eller skrivåtkomst efter behov)
Åtkomstalternativ på arbetsytanivå: Alternativt kan du tilldela användaren eller tjänsthuvudprincipen som medlem i arbetsytan i en contributorroll där både API och datakällobjekt är belägna. Detta ger de nödvändiga access till båda objekten från en enda plats. Mer information finns i Ge användare åtkomst till arbetsytor.
Spared credentials configuration: Om API:et har konfigurerats för att använda sparade autentiseringsuppgifter behöver den autentiserade användaren eller tjänstens huvudnamn endast access till API:et (välj Kör frågor och mutationer när du lägger till direkt access behörigheter till API:et).
Exempel: Du hittar ett exempel från slutpunkt till slutpunkt med exempelkod för både användarens huvudnamn och tjänstens huvudnamn i Connect Applications.
Hur öppnar jag ett supportärende för API för GraphQL?
Om du vill få hjälp från Microsoft Support om eventuella problem som rör Infrastruktur-API för GraphQL går du till vår Fabric Support-webbplats och väljer alternativet Data Engineering.
Stöder API för GraphQL Private Link?
API för GraphQL stöder endast Tenant level Private Link just nu.
Varför fungerar min begäran dåligt första gången jag utfärdar den och presterar sedan bra på efterföljande begäranden?
Det finns två huvudsakliga orsaker till det här "kallstartsbeteendet":
Uppvärmning av datakälla:
- Den första begäran kan ta längre tid om en datakälla behöver värmas upp från ett kallt tillstånd
- Även om datakällan inte är kall kanske datahämtningen inte är lika effektiv första gången GraphQL utfärdar en fråga om datakällan inte har de data som behövs inlästa i minnet
API-slutpunktsinitiering:
- Den första begäran till ett API för GraphQL-slutpunkten kan ta längre tid eftersom systemet måste läsa in schemat och konfigurationen
- Efterföljande begäranden går snabbare eftersom systemet redan är uppvärmt och redo att hantera dina begäranden
Mer information finns i metodtipsen för prestanda.
Hur kan jag ge feedback eller förslag för API för GraphQL?
Vi välkomnar din feedback och dina förslag! Du kan ge feedback via Fabric Ideas. Vårt team övervakar aktivt feedbacken och förslagen som skickas via den här plattformen. Du kan också kontakta oss via Microsoft Fabric Support för specifika frågor eller problem.