Delen via


Wat is Microsoft Fabric API voor GraphQL?

GraphQL is een opensource-querytaal en runtime voor API's die worden onderhouden door GraphQL Foundation. In tegenstelling tot traditionele REST API's kunnen clients met GraphQL exact de gegevens aanvragen die ze nodig hebben in één query, waardoor het ophalen en onderhalen van gegevens wordt verminderd.

Microsoft Fabric-API voor GraphQL brengt deze krachtige standaard naar het Fabric-ecosysteem als een gegevenstoegangslaag waarmee u snel en efficiënt query's kunt uitvoeren op meerdere gegevensbronnen. De API abstraheert de details van back-endgegevensbronnen, zodat u zich richt op de logica van uw toepassing en alle gegevens opgeeft die een client nodig heeft in één aanroep. Met de eenvoudige querytaal en efficiënte bewerking van resultatensets minimaliseert GraphQL de tijd die toepassingen nodig hebben voor toegang tot uw gegevens in Fabric.

Waarom GraphQL gebruiken voor Fabric-gegevens

Zonder GraphQL zijn voor het blootstellen van Fabric-gegevens aan toepassingen doorgaans een van deze methoden vereist:

Directe databaseverbindingen

  • Toepassingen maken rechtstreeks verbinding met lakehouses of magazijnen met behulp van SQL-stuurprogramma's (ODBC, JDBC)
  • Koppelt toepassingscode nauw aan databaseschema's—schemawijzigingen kunnen toepassingen verstoren.
  • Vereist het beheren van verbindingsreeksen, referenties en stuurprogrammaafhankelijkheden in elke toepassing
  • SQL-query's die zijn ingesloten in toepassingscode, zijn moeilijk te testen en te onderhouden

Aangepaste REST API's

  • Aangepaste back-endservices bouwen en onderhouden met frameworks zoals ASP.NET of Node.js
  • Controllercode, routeringslogica en gegevenstoegangslagen schrijven voor elk eindpunt
  • Afzonderlijke API-versies maken (v1, v2, v3) wanneer gegevensstructuren worden gewijzigd
  • Gegevens overhalen (volledige rijen ophalen wanneer u weinig kolommen nodig hebt) of te weinig ophalen (meerdere retouren maken voor gerelateerde gegevens)

GraphQL lost deze uitdagingen op:

  • Er is geen back-endcode vereist: Fabric genereert automatisch het GraphQL-schema, de resolvers en het eindpunt uit uw gegevensbronnen
  • Vervolg precies wat u nodig heeft: Vraag specifieke velden aan in één query, waardoor overbodige data wordt geëlimineerd en de grootte van de dataladingen wordt verminderd.
  • Gerelateerde gegevens in één verzoek ophalen: Relaties doorlopen zonder meerdere heen-en-terugreizen (geen N+1-query-probleem)
  • Ontwikkeling van schema's zonder fouten te veroorzaken: nieuwe velden toevoegen zonder dat dit van invloed is op bestaande query's—clients vragen alleen om wat ze kennen.
  • Typeveiligheid en documentatie: Zelfdocumentatieschema met ingebouwde introspectie die ontwikkelhulpprogramma's begrijpen
  • Geïntegreerde toegang tot meerdere bronnen: query's uitvoeren op lakehouses, magazijnen en SQL-databases via één eindpunt

Voor toepassingsontwikkelaars betekent GraphQL snellere ontwikkeling met minder infrastructuur. Voor data engineers betekent dit dat gegevens worden weergegeven zonder aangepaste API-code te schrijven en te onderhouden.

Wie moet API gebruiken voor GraphQL

De API van Fabric voor GraphQL is ontworpen voor:

  • Toepassingsontwikkelaars bouwen gegevensgestuurde web- en mobiele toepassingen die fabric lakehouse- en magazijngegevens verbruiken
  • Data engineers die Fabric-gegevens beschikbaar maken voor downstreamtoepassingen via moderne, flexibele API's zonder aangepaste back-endcode te schrijven
  • Integratieontwikkelaars die Fabric-gegevens verbinden met aangepaste toepassingen en geautomatiseerde werkstromen
  • BI-ontwikkelaars die aangepaste analysetoepassingen maken die Power BI aanvullen met Fabric-gegevens
  • Gegevenswetenschappers die Fabric-gegevens en machine learning-inzichten beschikbaar stellen via programmatische API's

Als u werkt binnen het geïntegreerde Analyseplatform van Microsoft Fabric en lakehouse-, warehouse- of SQL-databasegegevens toegankelijk moet maken voor toepassingen, biedt de GraphQL-API een efficiënte, ontwikkelaarsvriendelijke manier om exact de gegevens op te vragen die u nodig hebt.

Aanbeveling

Wilt u Fabric GraphQL-API's integreren met AI-agents? Probeer de zelfstudie Over het bouwen van een lokale GraphQL MCP-server voor AI-agents om AI-agents te verbinden met uw Fabric-gegevens met behulp van het Model Context Protocol.

Gegevens beschikbaar maken via de API voor GraphQL

Het beschikbaar maken van gegevensbronnen aan een GraphQL-item in Microsoft Fabric is eenvoudig en kan binnen enkele minuten worden uitgevoerd met behulp van de visuele interface van de Fabric-portal. Het proces omvat:

  1. Een GraphQL API-item maken in uw Fabric-werkruimte
  2. Uw gegevensbronnen verbinden door een keuze te maken uit beschikbare lakehouses, magazijnen of databases
  3. Kiezen welke objecten u wilt weergeven , zoals tabellen, weergaven of opgeslagen procedures
  4. Definieer relaties (optioneel) tussen objecten om krachtige geneste query's mogelijk te maken
  5. Machtigingen configureren om te bepalen wie toegang heeft tot uw API

Zodra het is geconfigureerd, genereert Fabric automatisch het GraphQL-schema, maakt u de benodigde resolvers en krijgt u een eindpunt-URL. Uw API is onmiddellijk klaar voor het accepteren van query's. Er is geen implementatie of infrastructuurinstallatie vereist.

Zie Een API voor GraphQL maken in Fabric en gegevens toevoegen voor stapsgewijze instructies.

Ondersteunde gegevensbronnen

Momenteel worden de volgende ondersteunde gegevensbronnen weergegeven via de Fabric-API voor GraphQL:

  • Microsoft Fabric datawarehouse
  • Microsoft Fabric SQL-database
  • Microsoft Fabric Lakehouse via SQL Analytics-eindpunt
  • Gespiegelde Microsoft Fabric-databases via SQL Analytics-eindpunt, waaronder:
    • Azure SQL Database
    • Azure SQL Managed Instance (een beheerde database-instantie van Azure)
    • Azure Cosmos DB
    • Microsoft Fabric SQL Database
    • Azure Databricks
    • Snowflake
    • Gespiegelde databases openen
  • Azure SQL-database
  • Datamart

Functies

Microsoft Fabric-API voor GraphQL biedt uitgebreide mogelijkheden voor het stroomlijnen van gegevenstoegang voor toepassingen. Van het automatisch genereren van code tot prestatiebewaking, kunt u met deze functies robuuste gegevens-API's bouwen met minimale configuratie.

Automatisch genereren van schema's

  • Schemadetectie: Gegevensbronschema's automatisch detecteren en toewijzen aan GraphQL-typen
  • Query's en mutatie genereren: Hiermee maakt u GraphQL-query's en -mutaties op basis van uw gegevensstructuur
  • Generatie van resolver: genereert automatisch de resolvers die nodig zijn om gegevens op te halen uit uw bronnen
  • Lokale testcode: genereert voorbeeldcode voor onmiddellijke tests en ontwikkeling

Flexibiliteit van gegevensbron

  • Meerdere gegevensbronnen: Verbinding maken en query's uitvoeren op meerdere gegevensbronnen met ondersteuning voor fan-outquery's
  • Databaseobjecten: volledige ondersteuning voor tabellen, weergaven en opgeslagen procedures in SQL-databases en -magazijnen
  • Selectieve blootstelling: Kies specifieke objecten en kolommen om beschikbaar te maken via de API
  • Relatiemodellering: een-op-een-, een-op-veel- en veel-op-veel-relaties tussen gegevensentiteiten maken

Bewerkingen en controle

  • Prestatiebewaking: een ingebouwd dashboard en verzoekregistratie om API-gedrag en -gebruik bij te houden

Ontwikkeling van schema's zonder versiebeheer

GraphQL gebruikt een unieke benadering van API-evolutie door traditionele versiebeheer te voorkomen. In plaats van v1-, v2- en v3-eindpunten te maken, worden GraphQL-API's continu verder ontwikkeld:

  • Additieve wijzigingen: u kunt nieuwe typen, velden en mogelijkheden toevoegen zonder bestaande query's te verbreken. Clients vragen alleen de velden aan die ze nodig hebben, dus nieuwe velden hebben geen invloed op deze velden.
  • Compatibiliteit met eerdere versies: bestaande query's blijven werken, zelfs wanneer het schema groeit, omdat GraphQL alleen expliciet aangevraagde gegevens retourneert.
  • Afschaffing boven verwijdering: Velden kunnen worden gemarkeerd als afgeschaft in plaats van onmiddellijk te verwijderen, zodat clients tijd hebben om zich aan te passen.
  • Eén eindpunt: toepassingen maken altijd verbinding met hetzelfde eindpunt, ongeacht schemawijzigingen.

Deze aanpak vereenvoudigt api-onderhoud en clientupgrades in vergelijking met traditionele versie-API's. Wanneer u het GraphQL API-schema in Fabric wijzigt, blijven bestaande toepassingen werken zolang u nieuwe mogelijkheden toevoegt in plaats van bestaande velden te verwijderen of de naam ervan te wijzigen. Zie Infrastructuur-API voor GraphQL-introspectie en schema-export voor meer informatie over het beheren van schemawijzigingen.

Interactieve bewerkingservaring

De API voor GraphQL bevat een editor waarmee u uw query's en mutaties eenvoudig kunt ontwikkelen en testen. De mogelijkheden van de editor zijn onder andere:

  • Een resultatenvenster om de uitvoer van query's en mutaties te visualiseren
  • Ondersteuning voor query- en mutatieparameters
  • Intellisense die ondersteuning biedt voor GraphQL-syntaxis en schemaobjectnamen

Zie API voor GraphQL-editor voor meer informatie over het gebruik van de GraphQL-editor.

Beperkingen

Raadpleeg API voor GraphQL-beperkingen voor meer informatie.