Udostępnij przez


Co to jest interfejs API usługi Microsoft Fabric dla programu GraphQL?

GraphQL to język zapytań typu open source i środowisko uruchomieniowe dla interfejsów API obsługiwanych przez program GraphQL Foundation. W przeciwieństwie do tradycyjnych REST API, język zapytań GraphQL umożliwia klientom żądanie dokładnie tych danych, których potrzebują, w jednym zapytaniu, co zmniejsza zarówno nadmierne, jak i niedostateczne pobieranie danych.

Interfejs API usługi Microsoft Fabric dla języka GraphQL udostępnia ten zaawansowany standard ekosystemowi sieci Szkieletowej jako warstwę dostępu do danych, która umożliwia szybkie i wydajne wykonywanie zapytań o wiele źródeł danych. Interfejs API abstrahuje od specyfiki źródeł danych zaplecza, aby skoncentrować się na logice aplikacji i udostępnić wszystkie dane wymagane przez klienta w jednym wywołaniu. Dzięki prostemu językowi zapytań i wydajnemu manipulowaniu zestawem wyników narzędzie GraphQL minimalizuje czas, przez jaki aplikacje uzyskują dostęp do danych w usłudze Fabric.

Dlaczego warto używać GraphQL do danych Fabric

Bez GraphQL udostępnianie danych fabric do aplikacji zwykle wymaga jednego z następujących podejść:

Bezpośrednie połączenia z bazą danych

  • Aplikacje łączą się bezpośrednio z lakehouse'ami lub magazynami danych przy użyciu sterowników SQL (ODBC, JDBC)
  • Ściśle wiąże kod aplikacji ze schematami baz danych — zmiany schematów przerywają aplikacje
  • Wymaga zarządzania parametrami połączenia, poświadczeniami i zależnościami sterowników w każdej aplikacji
  • Zapytania SQL osadzone w kodzie aplikacji są trudne do testowania i konserwacji

Niestandardowe interfejsy API REST

  • Tworzenie i obsługa niestandardowych usług zaplecza za pomocą struktur, takich jak ASP.NET lub Node.js
  • Pisanie kodu kontrolera, logiki routingu i warstw dostępu do danych dla każdego punktu końcowego
  • Tworzenie oddzielnych wersji interfejsu API (wersja 1, wersja 2, wersja 3) podczas zmiany struktur danych
  • Nadmierne pobieranie danych (pobieranie całych wierszy, gdy potrzebujesz kilku kolumn) lub niedostateczne pobieranie (tworzenie wielu rund dla powiązanych danych)

Narzędzie GraphQL rozwiązuje następujące problemy:

  • Brak wymaganego kodu zaplecza: sieć szkieletowa automatycznie generuje schemat, narzędzia rozpoznawania kodu GraphQL i punkt końcowy ze źródeł danych
  • Zapytaj dokładnie o to, czego potrzebujesz: żądaj określonych pól w jednym zapytaniu, eliminując zbędne pobieranie i zmniejszając obciążenie danych
  • Pobieranie powiązanych danych w jednym żądaniu: nawigacja po relacjach bez konieczności wielokrotnych zapytań (bez problemu zapytania N+1)
  • Ewolucja schematu bez wprowadzania zmian powodujących niezgodność: Dodanie nowych pól bez wpływu na istniejące zapytania — użytkownicy proszą tylko o informacje, które znają
  • Bezpieczeństwo typów i dokumentacja: Schemat samodzielnego dokumentowania z wbudowaną introspekcją, którą rozumieją narzędzia programistyczne
  • Ujednolicony dostęp do wielu źródeł: wykonywanie zapytań w lakehouse'ach, hurtowniach danych i bazach danych SQL za pośrednictwem jednego punktu końcowego

W przypadku deweloperów aplikacji narzędzie GraphQL oznacza szybsze programowanie z mniejszą infrastrukturą. W przypadku inżynierów danych oznacza to ujawnianie danych bez pisania i obsługi niestandardowego kodu interfejsu API.

Kto powinien używać interfejsu API dla języka GraphQL

Interfejs API Fabric dla GraphQL jest zaprojektowany do:

  • Deweloperzy aplikacji tworzący aplikacje internetowe i mobilne oparte na danych korzystające z usługi Fabric lakehouse i danych magazynu
  • Inżynierowie danych uwidaczniają dane sieci szkieletowej do aplikacji podrzędnych za pomocą nowoczesnych, elastycznych interfejsów API bez konieczności pisania niestandardowego kodu zaplecza
  • Deweloperzy integracji łączący dane Fabric z aplikacjami niestandardowymi i zautomatyzowanymi przepływami pracy
  • Deweloperzy analizy biznesowej tworzące niestandardowe aplikacje analityczne, które uzupełniają usługę Power BI przy użyciu danych usługi Fabric
  • Analitycy danych ujawniają dane sieci szkieletowej i szczegółowe informacje dotyczące uczenia maszynowego za pomocą programowych interfejsów API

Jeśli pracujesz w ramach ujednoliconej platformy analitycznej usługi Microsoft Fabric i musisz udostępnić dane bazy danych lakehouse, warehouse lub SQL Database aplikacjom, interfejs API GraphQL zapewnia wydajny, przyjazny dla deweloperów sposób wykonywania zapytań o dokładnie potrzebne dane.

Wskazówka

Chcesz zintegrować interfejsy API GraphQL usługi Fabric z agentami sztucznej inteligencji? Wypróbuj samouczek Zbuduj lokalny serwer MCP GraphQL dla agentów sztucznej inteligencji, aby połączyć agentów sztucznej inteligencji z danymi Fabric przy użyciu protokołu kontekstowego modelu.

Uwidacznianie danych za pośrednictwem interfejsu API dla języka GraphQL

Eksponowanie źródeł danych w elemencie GraphQL na platformie Microsoft Fabric jest proste i można to zrobić w ciągu kilku minut, korzystając z wizualnego interfejsu portalu Fabric. Proces obejmuje:

  1. Tworzenie elementu interfejsu API GraphQL w obszarze roboczym usługi Fabric
  2. Połącz swoje źródła danych wybierając spośród dostępnych datalaków, magazynów lub baz danych
  3. Wybieranie obiektów do uwidocznienia , takich jak tabele, widoki lub procedury składowane
  4. Definiuj relacje (opcjonalnie) między obiektami w celu umożliwienia zaawansowanych zapytań zagnieżdżonych
  5. Konfigurowanie uprawnień do kontrolowania, kto może uzyskiwać dostęp do interfejsu API

Po skonfigurowaniu Fabric automatycznie generuje schemat GraphQL, tworzy niezbędne resolvers i udostępnia adres URL punktu końcowego. Interfejs API jest natychmiast gotowy do akceptowania zapytań — nie jest wymagana konfiguracja wdrożenia ani infrastruktury.

Aby uzyskać instrukcje krok po kroku, zobacz Tworzenie interfejsu API dla języka GraphQL w sieci szkieletowej i dodawanie danych.

Obsługiwane źródła danych

Obecnie następujące obsługiwane źródła danych są udostępniane za pośrednictwem Fabric API dla GraphQL:

  • Hurtownia danych Microsoft Fabric
  • Baza danych SQL usługi Microsoft Fabric
  • Usługa Microsoft Fabric Lakehouse za pośrednictwem punktu końcowego usługi SQL Analytics
  • Mirrorowane bazy danych platformy Microsoft Fabric poprzez punkt końcowy SQL Analytics, w tym:
    • Azure SQL Database
    • Azure SQL Managed Instance
    • Azure Cosmos DB
    • Microsoft Fabric SQL Database
    • Azure Databricks
    • Snowflake
    • Otwieranie dublowanych baz danych
  • baza danych Azure SQL Database
  • Datamart

Funkcje

Interfejs API usługi Microsoft Fabric dla języka GraphQL oferuje kompleksowe funkcje, które usprawniają dostęp do danych dla aplikacji. Od automatycznego generowania kodu do monitorowania wydajności te funkcje umożliwiają tworzenie niezawodnych interfejsów API danych z minimalną konfiguracją.

Automatyczne generowanie schematu

  • Odnajdywanie schematów: automatycznie odnajduje schematy źródła danych i mapuje je na typy GraphQL
  • Generowanie zapytań i mutacji: tworzy zapytania GraphQL i mutacje na podstawie struktury danych
  • Generowanie resolverów: automatycznie generuje wymagane do pobierania danych ze źródeł resolvery.
  • Kod testowania lokalnego: generuje przykładowy kod na potrzeby natychmiastowego testowania i programowania

Elastyczność źródła danych

  • Wiele źródeł danych: łączenie się z wieloma źródłami danych i wykonywanie zapytań za pomocą obsługi zapytań fan-out
  • Obiekty bazy danych: pełna obsługa tabel, widoków i procedur składowanych w bazach danych i magazynach SQL
  • Ekspozycja selektywna: wybierz określone obiekty i kolumny do uwidocznienia za pośrednictwem interfejsu API
  • Modelowanie relacji: tworzenie relacji jeden do jednego, jeden do wielu i wiele-do-wielu między jednostkami danych

Operacje i monitorowanie

  • Monitorowanie wydajności: wbudowany pulpit nawigacyjny i rejestrowanie żądań w celu śledzenia zachowania i użycia interfejsu API

Ewolucja schematu bez przechowywania wersji

Język GraphQL przyjmuje unikatowe podejście do ewolucji interfejsu API, unikając tradycyjnego przechowywania wersji. Zamiast tworzyć punkty końcowe v1, v2 i v3, interfejsy API GraphQL ewoluują w sposób ciągły.

  • Zmiany addytywne: można dodawać nowe typy, pola i możliwości bez przerywania istniejących zapytań. Klienci żądają tylko potrzebnych pól, więc nowe pola nie mają na nie wpływu.
  • Zgodność z poprzednimi wersjami: Istniejące zapytania nadal działają nawet w miarę wzrostu schematu, ponieważ funkcja GraphQL zwraca tylko jawnie żądane dane.
  • Wycofywanie zamiast usuwania: pola mogą być oznaczone jako przestarzałe zamiast być natychmiast usunięte, dając klientom czas na dostosowanie.
  • Pojedynczy punkt końcowy: aplikacje zawsze łączą się z tym samym punktem końcowym, niezależnie od zmian schematu.

Takie podejście upraszcza konserwację interfejsu API i uaktualnienia klientów w porównaniu z tradycyjnymi interfejsami API w wersji. Podczas modyfikowania schematu interfejsu API GraphQL w usłudze Fabric istniejące aplikacje będą nadal działać tak długo, jak tylko dodasz nowe możliwości, zamiast usuwać istniejące pola lub zmieniać ich nazwy. Aby uzyskać więcej informacji na temat zarządzania zmianami schematu, zobacz Fabric API dla introspekcji GraphQL i eksportu schematu.

Środowisko interaktywnego edytowania

Interfejs API dla programu GraphQL zawiera edytor, który umożliwia łatwe opracowywanie i testowanie zapytań i mutacji. Możliwości edytora obejmują:

  • Okienko wyników do wizualizacji danych wyjściowych zapytań i mutacji
  • Obsługa parametrów zapytania i mutacji
  • Funkcja IntelliSense obsługująca składnię GraphQL i nazwy obiektów schematu

Aby uzyskać więcej informacji na temat korzystania z edytora GraphQL, zobacz Api for GraphQL editor (Interfejs API dla edytora GraphQL).

Ograniczenia

Aby uzyskać więcej informacji, zapoznaj się z Interfejsem API dla ograniczeń GraphQL.