Dela via


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.

Vem ska skapa GraphQL-API:er

Att skapa GraphQL-API:er i Fabric är utformat för:

  • Dataingenjörer exponerar Fabric Lakehouse- och lagerhusdata via moderna API:er för applikationskonsumtion
  • Fabric-arbetsytedeltagare som snabbt vill skapa API:er för dataåtkomst utan att skriva serverdelskod
  • BI-utvecklare som bygger anpassade analysprogram som behöver programmatisk åtkomst till Fabric-data
  • Integrationsutvecklare som skapar dataåtkomstlager för anpassade program och automatiserade arbetsflöden
  • Utvecklingsteam som föredrar GraphQL:s flexibla, typsäkra metod framför direkta databasanslutningar

Använd den här guiden när du behöver skapa ett nytt GraphQL-API som exponerar dina Fabric Lakehouse-, lager- eller databasdata för program.

Förutsättningar

Om du vill skapa ett API för GraphQL behöver du:

Dina behörigheter:

  • Bli medlem i Fabric-arbetsytan där du vill skapa API:et
  • Ha minst rollen Bidragsgivare i arbetsytan (eller högre: Administratör, Medlem)

Organisationskonfiguration:

  • En infrastrukturadministratör eller kapacitetsadministratör måste aktivera klientinställningen "Användare kan skapa infrastrukturobjekt"

    Skärmbild av klientinställningarna och hur du aktiverar alternativet Användare kan skapa Fabric-föremål.

  • Arbetsytan måste backas upp av en Fabric-kapacitet (Premium-, Utvärderings- eller Fabric-kapacitet)

Åtkomst till datakälla (för senare steg):

  • Läsbehörigheter för de datakällor som du planerar att exponera via GraphQL-API:et
  • Behörigheterna kan beviljas via arbetsytamedlemskap eller direkta datakällsbehörigheter.
  • I den här guiden använder vi en AdventureWorks SQL-analysslutpunkt som är länkad till en speglad databas som exempeldatakälla. För att hämta AdventureWorks-exempeldata, se Läsa in AdventureWorks-exempeldata i din SQL-databas.

Skapa ett API för GraphQL

Så här skapar du ett API för GraphQL:

  1. Gå till Fabric-portalen på https://fabric.microsoft.com och logga in med din organisationskonto.

  2. Välj en arbetsyta där du vill skapa API:et och välj sedan Nytt objekt. I panelen som öppnas under Utveckla dataväljer du API för GraphQL.

    Skärmbild av verktygsfältet för arbetsytan som visar var du väljer alternativet Ny.

  3. Ange ett namn för ditt nya API för GraphQL-objekt och välj Skapa.

Nu har du en aktiv GraphQL API-slutpunkt i Fabric. Nu kan du kopiera slutpunkts-URL:en från Infrastrukturportalen, välja Generera kod för att hämta kodexempel och API:et är redo att ta emot begäranden. I nästa avsnitt ansluter vi datakällor för att skapa ditt schema, men själva slutpunkten fungerar redan.

Ansluta till en datakälla och skapa ditt schema

Nu är API-slutpunkten klar, men den exponerar inga data ännu. 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.

Så här ansluter du en datakälla och skapar schemat:

  1. Kontrollera att du har valt det nya GraphQL API-objektet på din arbetsyta.

  2. Under Lägg till data i API:et för GraphQL väljer du panelen Välj datakälla .

    Skärmbild av panelen Välj datakälla.

  3. Välj sedan anslutningsalternativet för ditt API:

    Skärmbild av fönstret Välj anslutningsalternativ.

    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): Du kan använda klientautentiseringsuppgifter för att ansluta till datakällor. Den autentiserade API-användaren måste ha åtkomst till de underliggande tabellerna i 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 (Kör frågor och mutationer alternativ när du lägger till behörigheter för direkt åtkomst) och läs- eller skrivbehörigheter som krävs i valfri datakälla. 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: Du kan använda sparade autentiseringsuppgifter för att ansluta till datakällor. Den autentiserade API-användaren behöver inte direkt åtkomst till data. 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 behörigheter för direkt åtkomst) 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 de här alternativen har valts tillämpas de för alla datakällor som senare läggs till i API:et. Det går inte att blanda enkel inloggning och sparade autentiseringsuppgifter i samma API. Du kan använda UPN-namn (User Principal Names) eller Service Principal Names (SPN) för att ansluta till ditt API med hjälp av antingen enkel inloggning eller sparade autentiseringsuppgifter beroende på dina säkerhetskrav.

    En detaljerad beskrivning av behörighetskrav för olika autentiseringsscenarier finns i Sammanfattning av autentisering och behörigheter.

    Kommentar

    API för GraphQL kräver att klientprogram använder Microsoft Entra-ID 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 ID kräver GraphQLApi.Execute.All API-behörigheter för Power BI-tjänsten. 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.

  4. Från OneLake-katalogen väljer du den datakälla som du vill ansluta till. 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ärmbild av OneLake-datahubben som visar tillgängliga alternativ för datakällor för en arbetsyta.

    I det här exemplet valde vi en SQL-analysslutpunkt som är länkad till en speglad databas som innehåller AdventureWorks-exempeldata.

  5. Om du har valt Sparade autentiseringsuppgifter tidigare, och om det inte redan finns någon sparad autentiseringsuppgift för graphQL-API:et, uppmanas du att skapa en ny sparad autentiseringsuppgift.

  6. Sidan Välj data visas, där du kan välja vilka objekt som ska exponeras i GraphQL-schemat.

  7. Markera kryssrutorna bredvid de enskilda tabeller, vyer 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.

    Skärmbild av datautforskaren med en vald mapp som automatiskt markerar alla objekt i mappen.

  8. Välj Läs in för att starta GraphQL-schemagenereringsprocessen.

  9. 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.

    Skärmbild av skärmen Schemautforskaren.

    Tips/Råd

    Ange Ctrl/Cmd + blanksteg för att få förslag när du skriver dina frågor i redigeraren.

    Mer information om hur du använder API-redigeraren finns i Fabric API för GraphQL-redigeraren.

Sammanfattning

Det var allt! Du har skapat ett GraphQL-API i Fabric, anslutit datakällan och genererat ett schema. Ditt API är nu redo att ta emot anslutningar och begäranden från klientprogram. Du kan använda API-redigeraren för att testa och prototypa GraphQL-frågor och använda Schemautforskaren för att verifiera de datatyper och fält som exponeras i API:et.