Sdílet prostřednictvím


Co je rozhraní Microsoft Fabric API pro GraphQL?

GraphQL je opensourcový dotazovací jazyk a modul runtime pro rozhraní API udržovaná službou GraphQL Foundation. Na rozdíl od tradičních rozhraní REST API umožňuje GraphQL klientům požadovat přesně ta data, která potřebují v jednom dotazu, což snižuje nadměrné a nedostatečné načítání dat.

Rozhraní Microsoft Fabric API pro GraphQL přináší tento výkonný standard ekosystému Fabric jako vrstvu přístupu k datům, která umožňuje rychle a efektivně dotazovat více zdrojů dat. Rozhraní API abstrahuje specifika back-endových zdrojů dat, takže se zaměříte na logiku aplikace a poskytnete všechna data, která klient potřebuje v jednom volání. Díky jednoduchému dotazovacímu jazyku a efektivní manipulaci se sadami výsledků GraphQL minimalizuje čas, během kterého aplikace přistupují k vašim datům ve Fabric.

Proč používat GraphQL pro data Fabric

Bez použití GraphQL typicky vyžaduje zpřístupnění dat Fabric aplikacím jeden z těchto přístupů:

Přímá připojení k databázi

  • Aplikace se připojují přímo k jezerům nebo skladům pomocí ovladačů SQL (ODBC, JDBC)
  • Úzce propojuje kód aplikace se schématy databáze – změny schématu mohou narušit fungování aplikací.
  • Vyžaduje správu připojovacích řetězců, přihlašovacích údajů a závislostí ovladačů v každé aplikaci.
  • Dotazy SQL vložené do kódu aplikace jsou obtížné testovat a udržovat

Vlastní rozhraní REST API

  • Vytváření a údržba vlastních back-endových služeb pomocí architektur, jako jsou ASP.NET nebo Node.js
  • Psaní kódu kontroleru, logiky směrování a vrstev přístupu k datům pro každý koncový bod
  • Vytvoření samostatných verzí rozhraní API (v1, v2, v3) při změně datových struktur
  • Nadměrně načíst data (získat celé řádky, pokud potřebujete jen několik sloupců) nebo nedostatečně načíst (provést více komunikačních cyklů pro související data)

GraphQL řeší tyto výzvy:

  • Nevyžaduje se žádný back-endový kód: Prostředky infrastruktury automaticky generují schéma GraphQL, překladače a koncový bod z vašich zdrojů dat.
  • Dotaz přesně na to, co potřebujete: Vyžádání konkrétních polí v jednom dotazu, odstranění nadměrného načítání a snížení velikosti datové části
  • Načtení souvisejících dat v jednom požadavku: Procházení relací bez opakovaných dotazů (žádný problém s N+1 dotazy)
  • Vývoj schématu bez zásadních změn: Přidání nových polí bez ovlivnění stávajících dotazů – klienti požadují jenom to, co znají.
  • Zabezpečení typů a dokumentace: Schéma samodokumentování pomocí integrované introspekce, které vývojové nástroje rozumí
  • Jednotný přístup k více zdrojům: Dotazování napříč databázemi lakehouse, sklady a databázemi SQL prostřednictvím jednoho koncového bodu

Pro vývojáře aplikací graphQL znamená rychlejší vývoj s menší infrastrukturou. U datových inženýrů to znamená zveřejnění dat bez nutnosti psaní a údržby vlastního kódu rozhraní API.

Kdo by měl používat rozhraní API pro GraphQL

Rozhraní API Fabric pro GraphQL je navržené pro:

  • Vývojáři aplikací vytvářející webové a mobilní aplikace řízené daty, které využívají data z Fabric Lakehouse a datového skladu
  • Datoví inženýři vystavující Fabric data aplikacím ve směru toku dat prostřednictvím moderních, flexibilních rozhraní API bez psaní vlastního backendového kódu
  • Vývojáři integrace připojující data Fabric k vlastním aplikacím a automatizovaným pracovním postupům
  • Vývojáři BI vytvářejí vlastní analytické aplikace, které doplňují Power BI s daty Fabric.
  • Datoví vědci poskytující přehledy fabric dat a strojového učení prostřednictvím API

Pokud pracujete v rámci sjednocené analytické platformy Microsoft Fabric a potřebujete zpřístupnit data databáze Lakehouse, skladu nebo SQL pro aplikace, poskytuje rozhraní GraphQL API efektivní a přívětivý způsob, jak dotazovat přesně potřebná data.

Návod

Chcete integrovat rozhraní API Fabric GraphQL s agenty AI? Vyzkoušejte kurz Vytvoření místního serveru GraphQL MCP pro agenty AI, který připojuje agenty AI k vašim Fabric datům pomocí protokolu Model Context.

Zveřejnění dat prostřednictvím rozhraní API pro GraphQL

Zveřejnění zdrojů dat pro položku GraphQL v Microsoft Fabric je jednoduché a dá se provést v řádu minut pomocí vizuálního rozhraní portálu Fabric. Tento proces zahrnuje:

  1. Vytvoření položky rozhraní GraphQL API v pracovním prostoru Fabric
  2. Připojení zdrojů dat výběrem z dostupných jezer, skladů nebo databází
  3. Vyberte, které objekty se mají zveřejnit , jako jsou tabulky, zobrazení nebo uložené procedury.
  4. Definování relací (volitelné) mezi objekty za účelem povolení výkonných vnořených dotazů
  5. Konfigurace oprávnění pro řízení přístupu k rozhraní API

Po nakonfigurování služba Fabric automaticky vygeneruje schéma GraphQL, vytvoří potřebné překladače a poskytne adresu URL koncového bodu. Vaše rozhraní API je okamžitě připravené přijímat dotazy – nevyžaduje se žádné nasazení ani nastavení infrastruktury.

Podrobné pokyny najdete v Vytvořte API pro GraphQL ve Fabric a přidejte data.

Podporované zdroje dat

V současné době jsou prostřednictvím rozhraní API Fabric pro GraphQL zpřístupněny následující podporované zdroje dat:

  • Datový sklad Microsoft Fabric
  • Databáze Microsoft Fabric SQL
  • Microsoft Fabric Lakehouse prostřednictvím koncového bodu SQL Analytics
  • Zrcadlené databáze Microsoft Fabric prostřednictvím koncového bodu SQL Analytics, včetně:
    • Azure SQL Database
    • Azure SQL Managed Instance
    • Azure Cosmos DB
    • Microsoft Fabric SQL Database
    • Azure Databricks
    • Snowflake
    • Otevření zrcadlených databází
  • databáze Azure SQL
  • Datový sklad

Funkce

Rozhraní Microsoft Fabric API pro GraphQL poskytuje komplexní funkce, které zjednoduší přístup k datům pro aplikace. Od automatického generování kódu po monitorování výkonu umožňují tyto funkce vytvářet robustní datová rozhraní API s minimální konfigurací.

Automatické generování schématu

  • Zjišťování schémat: Automaticky zjišťuje a mapuje schémata zdrojů dat na typy GraphQL.
  • Generování dotazů a mutací: Vytvoří dotazy GraphQL a mutované na základě vaší datové struktury.
  • Generování resolverů: Automaticky vygeneruje resolvery potřebné k načtení dat z vašich zdrojů.
  • Místní testovací kód: Vygeneruje vzorový kód pro okamžité testování a vývoj.

Flexibilita zdroje dat

  • Více zdrojů dat: Pro připojení a dotazování napříč více zdroji dat s podporou paralelních dotazů
  • Databázové objekty: Úplná podpora tabulek, zobrazení a uložených procedur v databázích a skladech SQL
  • Selektivní expozice: Zvolte konkrétní objekty a sloupce, které se mají zveřejnit prostřednictvím rozhraní API.
  • Modelování relací: Vytvoření relací 1:1, 1:N a relací M:N mezi datovými entitami

Operace a sledování

  • Monitorování výkonu: Integrované řídicí panel a protokolování požadavků pro sledování chování a využití rozhraní API

Vývoj schématu bez správy verzí

GraphQL využívá jedinečný přístup k vývoji rozhraní API tím, že se vyhne tradiční správě verzí. Místo vytváření koncových bodů v1, v2 a v3 se rozhraní GraphQL API neustále vyvíjejí:

  • Doplňkové změny: Můžete přidat nové typy, pole a možnosti bez přerušení existujících dotazů. Klienti požadují jenom potřebná pole, takže nová pole na ně nemají vliv.
  • Zpětná kompatibilita: Stávající dotazy nadále fungují i s rostoucím schématem, protože GraphQL vrací pouze explicitně požadovaná data.
  • Označení jako zastaralé místo odebrání: Pole lze místo okamžitého odebrání označit jako zastaralá, což klientům poskytuje čas na přizpůsobení.
  • Jeden koncový bod: Aplikace se vždy připojují ke stejnému koncovému bodu bez ohledu na změny schématu.

Tento přístup zjednodušuje údržbu rozhraní API a upgrady klientů v porovnání s tradičními rozhraními API s verzemi. Při úpravě schématu API GraphQL ve Fabricu budou stávající aplikace fungovat, pokud místo odebrání nebo přejmenování existujících polí přidáte nové možnosti. Další informace o správě změn schématu najdete v tématu Rozhraní FABRIC API pro inspiraci a export schématu GraphQL.

Interaktivní prostředí pro úpravy

Rozhraní API pro GraphQL obsahuje editor, který umožňuje snadno vyvíjet a testovat dotazy a mutaci. Mezi možnosti editoru patří:

  • Podokno výsledků pro vizualizaci výstupu dotazů a mutací
  • Podpora parametrů pro dotazy a mutace
  • IntelliSense, která podporuje syntaxi GraphQL a názvy objektů schématu

Další informace o používání editoru GraphQL najdete v tématu rozhraní API pro editor GraphQL.

Omezení

Další informace naleznete v části omezení rozhraní GraphQL API.