Skapa ett API för GraphQL i Infrastrukturresurser och lägg till data
Kom igång med Infrastruktur-API:et för GraphQL genom att skapa ett API och sedan länka en datakälla för att exponera de data som du har valt via API:et. Fabric skapar GraphQL-schemat automatiskt baserat på dina data och program är redo att ansluta på några minuter.
Förutsättningar
- Aktivera inställningen "Användare kan skapa infrastrukturobjekt" klientorganisationsadministratör.
Skapa ett API för GraphQL
Så här skapar du ett API för GraphQL:
På startsidan för Infrastrukturportalen väljer du Dataingenjör ing i listan över arbetsbelastningar.
Välj API för GraphQL (förhandsversion).
Du kan också välja Nytt>API för GraphQL (förhandsversion) från valfri arbetsyta i Dataingenjör ing.
Ange ett namn för objektet och välj Skapa.
Nu har du ett fullt fungerande API för att komma åt dina data i Fabric.
Ansluta till en datakälla och skapa ditt schema
I det här läget är API:et redo, men det exponerar inga data. API:er för GraphQL definieras i ett schema som är organiserat i form av typer och fält, i ett starkt skrivet system. Fabric genererar automatiskt det nödvändiga GraphQL-schemat baserat på de data som du väljer att exponera för GraphQL-klienter.
I det nya API:et väljer du en datakälla som ska exponeras genom att välja Välj datakälla.
Välj sedan anslutningsalternativet för ditt API:
Här kan du definiera hur API-klienter kan komma åt API:et för att köra GraphQL-begäranden baserat på två olika alternativ:
- Enkel inloggning (SSO): Använd klientautentiseringsuppgifter för att ansluta till datakällor, vilket innebär att den autentiserade API-användaren måste ha åtkomst till den underliggande datakällan. Om du till exempel exponerar Lakehouse-data för dina API-klienter måste den autentiserade användaren ha åtkomst till både API:et och Lakehouse. Mer specifikt Kör behörigheter till GraphQL API (alternativet Kör frågor och mutationer när du lägger till behörigheter för direkt åtkomst) och läs- eller skrivbehörigheter som krävs i den datakälla som du väljer i enlighet med detta. Alternativt kan användaren läggas till som medlem i arbetsytan med en deltagarroll där både API:et och datakällans objekt finns, vilket ger nödvändig åtkomst till båda objekten från en enda plats. Mer information finns i Ge användare åtkomst till arbetsytor.
- Sparade autentiseringsuppgifter: Använd sparade autentiseringsuppgifter för att ansluta till datakällor, vilket innebär att den autentiserade API-användaren inte kräver direkt åtkomst till datakällan. En sparad autentiseringsuppgift delas för att komma åt data mellan API:et och underliggande tabeller i datakällan. Om du till exempel exponerar Lakehouse-data för dina API-klienter behöver den autentiserade användaren bara ha direkt åtkomst till API:et (alternativet Kör frågor och mutationer när du lägger till direktåtkomstbehörigheter) och inte Lakehouse. En sparad autentiseringsuppgift används för att ansluta API:et till datakällan och delas av alla autentiserade API-användare. Det här alternativet krävs om du exponerar en Azure-datakälla, till exempel en Azure SQL-databas via GraphQL. När du har valt OK uppmanas du att skapa en ny sparad autentiseringsuppgift när du har valt en datakälla i nästa steg om det inte redan finns någon sparad autentiseringsuppgift för den.
När de här alternativen har valts tillämpas de för alla datakällor som sedan läggs till i API:et. Det går inte att blanda enkel inloggning och sparade autentiseringsuppgifter i samma API. Även om du kan använda UPN (User Principal Names) eller Service Principal Names (SPN) för att ansluta till ditt API, stöder tjänstens huvudnamn endast enkel inloggning (SSO) för närvarande. Användarens huvudnamn kan använda enkel inloggning eller sparade autentiseringsuppgifter, beroende på dina säkerhetskrav.
Kommentar
API för GraphQL kräver att klientprogram använder Microsoft Entra för autentisering. Klientprogrammet måste vara registrerat och konfigurerat på ett lämpligt sätt för att köra API-anrop mot Fabric. Appen som är registrerad i Microsoft Entra kräver Item.Execute.All API-behörigheter för Power BI-tjänst. Du hittar en självstudie från slutpunkt till slutpunkt med instruktioner och exempelkod för både användarens huvudnamn och tjänstens huvudnamn i Connect Applications.
OneLake-datahubben visas. välj den datakälla som du vill ansluta till. I följande exempel väljer vi en AdventureWorks SQL-analysslutpunkt som är länkad till en speglad databas. Välj Filtrera om du bara vill se specifika typer av infrastrukturdatakällor eller söka efter ett specifikt nyckelord. När du är klar väljer du Anslut.
Skärmen Hämta data visas, där du kan välja vilka objekt som ska exponeras i GraphQL-schemat.
Markera kryssrutorna bredvid de enskilda tabeller eller lagrade procedurer som du vill exponera i API:et. Om du vill markera alla objekt i en mapp markerar du kryssrutan med datakällans namn överst.
Välj Läs in för att starta GraphQL-schemagenereringsprocessen.
Schemat genereras och du kan börja skapa prototyper för GraphQL-frågor (läsa, lista) eller mutationer (skapa, uppdatera, ta bort) för att interagera med dina data.
Ditt API för GraphQL är nu redo att acceptera anslutningar och begäranden. Du kan använda API-redigeraren för att testa och prototypa GraphQL-frågor och Schemautforskaren för att verifiera de datatyper och fält som exponeras i API:et.
Sammanfattning av behörigheter
Tabellen nedan sammanfattar de olika permutationer som stöds och minsta nödvändiga behörigheter för klienter som har åtkomst till GraphQL-API:et:
API-anropare | Anslutningar för datakälla | Nödvändiga GraphQL API-behörigheter | Nödvändiga behörigheter för datakälla | Entra-appomfång |
---|---|---|---|---|
Användarens huvudnamn (UPN) | Enkel inloggning (SSO) | Köra frågor och mutationer på API-nivå | Lämpliga läs-/skrivbehörigheter som beviljats UPN i datakällan | Item.Execute.All |
Tjänstens huvudnamn (SPN) | Enkel inloggning (SSO) | Köra frågor och mutationer på API-nivå | Lämpliga läs-/skrivbehörigheter som beviljats SPN i datakällan | Item.Execute.All |
Användarens huvudnamn (UPN) | Sparade autentiseringsuppgifter | Köra frågor och mutationer på API-nivå | Lämpliga läs-/skrivbehörigheter som beviljats till den sparade autentiseringsuppgiften (anslutningen) i datakällan | Item.Execute.All |
Tjänstens huvudnamn (SPN) | Sparade autentiseringsuppgifter | Stöds för närvarande inte | Stöds för närvarande inte | Stöds för närvarande inte |