Udostępnij za pośrednictwem


Tworzenie interfejsu API dla języka GraphQL w sieci szkieletowej i dodawanie danych

Rozpocznij pracę z interfejsem API sieci szkieletowej dla języka GraphQL, tworząc interfejs API, a następnie łącząc źródło danych, aby uwidocznić dane wybrane za pośrednictwem interfejsu API. Sieć szkieletowa tworzy schemat GraphQL automatycznie na podstawie danych, a aplikacje są gotowe do nawiązania połączenia w ciągu kilku minut.

Wymagania wstępne

Tworzenie interfejsu API dla języka GraphQL

Aby utworzyć interfejs API dla języka GraphQL:

  1. Na stronie głównej portalu sieci szkieletowej wybierz pozycję inżynierowie danych z listy obciążeń.

  2. Wybierz pozycję INTERFEJS API dla programu GraphQL (wersja zapoznawcza).

    Zrzut ekranu przedstawiający kafelek interfejsu API, który wybierzesz, aby utworzyć nowy element interfejsu API.

    Alternatywnie wybierz pozycję Nowy>interfejs API dla programu GraphQL (wersja zapoznawcza) z dowolnego obszaru roboczego w inżynierowie danych.

    Zrzut ekranu przedstawiający pasek narzędzi obszaru roboczego pokazujący, gdzie wybrać opcję Nowy.

  3. Wprowadź nazwę elementu i wybierz pozycję Utwórz.

    Zrzut ekranu przedstawiający okno dialogowe New API for GraphQL (Nowy interfejs API dla języka GraphQL), w którym należy wprowadzić nazwę i wybrać pozycję Utwórz.

Masz teraz w pełni funkcjonalny interfejs API umożliwiający dostęp do danych w usłudze Fabric.

Nawiązywanie połączenia ze źródłem danych i tworzenie schematu

Na tym etapie interfejs API jest gotowy, ale nie udostępnia żadnych danych. Interfejsy API dla języka GraphQL są definiowane w schemacie zorganizowanym pod względem typów i pól w silnie typizowanym systemie. Sieć szkieletowa automatycznie generuje wymagany schemat GraphQL na podstawie danych, które mają być widoczne dla klientów GraphQL.

  1. W nowym interfejsie API wybierz źródło danych do udostępnienia, wybierając pozycję Wybierz źródło danych.

    Zrzut ekranu przedstawiający opcję Wybierz źródło danych.

  2. Następnie wybierz opcję łączności dla interfejsu API:

    Zrzut ekranu przedstawiający opcję Wybierz łączność.

    W tym miejscu można zdefiniować, jak klienci interfejsu API mogą uzyskiwać dostęp do interfejsu API w celu wykonywania żądań GraphQL na podstawie dwóch odrębnych opcji:

    • Logowanie jednokrotne (SSO): użyj poświadczeń klienta, aby nawiązać połączenie ze źródłami danych, co oznacza, że uwierzytelniony użytkownik interfejsu API musi mieć dostęp do bazowego źródła danych. Jeśli na przykład dane usługi Lakehouse są udostępniane klientom interfejsu API, uwierzytelniony użytkownik musi mieć dostęp zarówno do interfejsu API, jak i usługi Lakehouse. Dokładniej wykonaj uprawnienia do interfejsu API GraphQL (opcja Uruchom zapytania i mutacje podczas dodawania uprawnień dostępu bezpośredniego) i uprawnienia do odczytu lub zapisu wymagane w wybranym źródle danych. Alternatywnie użytkownik może zostać dodany jako członek obszaru roboczego z rolą współautora, w której znajdują się zarówno elementy interfejsu API, jak i źródła danych, co zapewni wymagany dostęp do obu elementów z jednego miejsca. Aby uzyskać więcej informacji, zobacz Przyznawanie użytkownikom dostępu do obszarów roboczych.
    • Zapisane poświadczenia: użyj zapisanych poświadczeń, aby nawiązać połączenie ze źródłami danych, co oznacza, że uwierzytelniony użytkownik interfejsu API nie wymaga bezpośredniego dostępu do źródła danych. Zapisane poświadczenia są udostępniane w celu uzyskania dostępu do danych między interfejsem API i tabelami bazowymi w źródle danych. Jeśli na przykład udostępniasz dane usługi Lakehouse klientom interfejsu API, uwierzytelniony użytkownik musi mieć bezpośredni dostęp do interfejsu API (opcja Uruchom zapytania i mutacje podczas dodawania uprawnień dostępu bezpośredniego), a nie do usługi Lakehouse. Zapisane poświadczenie służy do łączenia interfejsu API ze źródłem danych i jest współużytkowane przez wszystkich uwierzytelnionych użytkowników interfejsu API. Ta opcja jest wymagana, jeśli uwidaczniasz źródło danych platformy Azure, takie jak baza danych Azure SQL Database za pośrednictwem programu GraphQL. Po wybraniu przycisku OK zostanie wyświetlony monit o utworzenie nowego zapisanego poświadczenia po wybraniu źródła danych w następnym kroku, jeśli nie ma już zapisanego poświadczenia.

    Po wybraniu tych opcji wszystkie źródła danych zostaną następnie dodane do interfejsu API. Nie można mieszać logowania jednokrotnego i zapisywanych poświadczeń w tym samym interfejsie API. Ponadto, chociaż można używać głównych nazw użytkowników (UPN) lub głównych nazw usługi (SPN) do łączenia się z interfejsem API, jednostki usługi obsługują obecnie tylko logowanie jednokrotne. Podmioty zabezpieczeń użytkowników mogą korzystać z logowania jednokrotnego lub zapisanych poświadczeń w zależności od wymagań dotyczących zabezpieczeń.

    Uwaga

    Interfejs API dla programu GraphQL wymaga, aby aplikacje klienckie używały usługi Microsoft Entra do uwierzytelniania. Aplikacja kliencka musi być zarejestrowana i skonfigurowana odpowiednio do wykonywania wywołań interfejsu API w usłudze Fabric. Aplikacja zarejestrowana w usłudze Microsoft Entra wymaga uprawnień Item.Execute.All interfejsu API dla usługa Power BI. Pełny samouczek zawiera instrukcje i przykładowy kod dla jednostek użytkownika i jednostek usługi w temacie Łączenie aplikacji.

  3. Zostanie wyświetlone centrum danych OneLake; wybierz źródło danych, z którym chcesz nawiązać połączenie. W poniższym przykładzie wybieramy punkt końcowy analizy SQL AdventureWorks połączony z dublowaną bazą danych. Wybierz pozycję Filtr , aby wyświetlić tylko określone typy źródeł danych sieci szkieletowej lub wyszukaj według określonego słowa kluczowego. Gdy wszystko będzie gotowe, wybierz pozycję Połącz.

    Zrzut ekranu przedstawiający centrum danych OneLake z dostępnymi opcjami źródła danych dla obszaru roboczego.

  4. Zostanie wyświetlony ekran Pobieranie danych , na którym można wybrać obiekty, które mają być uwidocznione w schemacie GraphQL.

    Zrzut ekranu Pobieranie danych przedstawiający listę Wybierz dane.

  5. Zaznacz pola wyboru obok poszczególnych tabel lub procedur składowanych, które chcesz uwidocznić w interfejsie API. Aby zaznaczyć wszystkie obiekty w folderze, zaznacz pole wyboru z nazwą źródła danych u góry.

    Zrzut ekranu przedstawiający listę Wybierz dane z wybranym folderem, który automatycznie wybiera wszystkie elementy w tym folderze.

  6. Wybierz pozycję Załaduj , aby rozpocząć proces generowania schematu GraphQL.

  7. Schemat jest generowany i można rozpocząć tworzenie prototypów zapytań GraphQL (odczyt, lista) lub mutacje (tworzenie, aktualizowanie, usuwanie) w celu interakcji z danymi.

    Zrzut ekranu przedstawiający ekran Eksplorator schematu.

Interfejs API dla języka GraphQL jest teraz gotowy do akceptowania połączeń i żądań. Edytor interfejsu API umożliwia testowanie i prototypowanie zapytań GraphQL oraz Eksplorator schematu w celu zweryfikowania typów danych i pól uwidocznionych w interfejsie API.

Podsumowanie uprawnień

Poniższa tabela zawiera podsumowanie różnych obsługiwanych permutacji i minimalnych wymaganych uprawnień dla klientów, którzy uzyskują dostęp do interfejsu API GraphQL:

Obiekt wywołujący interfejs API Łączność źródeł danych Wymagane uprawnienia interfejsu API GraphQL Wymagane uprawnienia źródła danych Zakres aplikacji Entra
Podmiot zabezpieczeń użytkownika (UPN) Logowanie jednokrotne Uruchamianie zapytań i mutacji na poziomie interfejsu API Odpowiednie uprawnienia do odczytu/zapisu przyznane do nazwy UPN w źródle danych Item.Execute.All
Jednostka usługi (SPN) Logowanie jednokrotne Uruchamianie zapytań i mutacji na poziomie interfejsu API Odpowiednie uprawnienia do odczytu/zapisu przyznane głównej nazwy usługi w źródle danych Item.Execute.All
Podmiot zabezpieczeń użytkownika (UPN) Zapisane poświadczenia Uruchamianie zapytań i mutacji na poziomie interfejsu API Odpowiednie uprawnienia do odczytu/zapisu przyznane zapisanym poświadczeniu (połączeniu) w źródle danych Item.Execute.All
Jednostka usługi (SPN) Zapisane poświadczenia Obecnie nieobsługiwane Obecnie nieobsługiwane Obecnie nieobsługiwane