Udostępnij za pośrednictwem


Tworzenie aplikacji przy użyciu metodyki DevOps i interfejsu API GraphQL

Dotyczy bazy danych:SQL w usłudze Microsoft Fabric

W tej sekcji samouczka użyjesz utworzonych zasobów, aby utworzyć aplikację internetową, która pozwala użytkownikowi wybrać region, którego dotyczy awaria, a następnie zobaczyć innych dostawców w tym regionie, aby powiadomić firmę o wszelkich dalszych zakłóceniach łańcucha dostaw. Utworzysz punkt końcowy programu GraphQL na danych, a następnie utworzysz aplikację ASP.NET, którą możesz wdrożyć lokalnie lub u dostawcy usług w chmurze.

Projekty programistyczne obejmują zadania związane z operacjami deweloperów (DevOps), z których jednym jest kontrola źródła. Rozpoczniesz tę sekcję, umieszczając elementy utworzone pod kontrolą źródła.

W tym artykule przedstawiono szereg przydatnych scenariuszy tworzenia aplikacji opartej na bazie danych SQL w sieci szkieletowej.

Wymagania wstępne

Ciągła integracja/ciągłe wdrażanie w sieci szkieletowej za pomocą usługi Azure DevOps

W tej części samouczka dowiesz się, jak pracować z bazą danych SQL w usłudze Microsoft Fabric przy użyciu usługi Azure DevOps.

Baza danych SQL w usłudze Microsoft Fabric ma integrację kontroli źródła, umożliwiając użytkownikom SQL śledzenie definicji obiektów bazy danych w czasie i w zespole:

  • Zespół może zatwierdzić bazę danych do kontroli źródła, która automatycznie konwertuje dynamiczną bazę danych na kod w skonfigurowanym repozytorium kontroli źródła (Azure DevOps).

  • Zespół może zaktualizować obiekty bazy danych z zawartości kontroli źródła, która weryfikuje kod w usłudze Azure DevOps przed zastosowaniem różnicowej zmiany w bazie danych.

    Diagram prostej pętli kontroli źródła.

Jeśli nie znasz kontroli kodu źródłowego w usłudze Microsoft Fabric, oto zalecany zasób:

Wprowadzenie do kontroli źródła

Po wykonaniu tych wymagań wstępnych możesz zachować synchronizację obszaru roboczego z usługą Azure DevOps. Dzięki temu możesz zatwierdzić wszelkie zmiany wprowadzone w obszarze roboczym w gałęzi Azure DevOps i zaktualizować obszar roboczy za każdym razem, gdy każda osoba utworzy nowe zatwierdzenia w gałęzi Usługi Azure DevOps.

Teraz zmodyfikujesz jeden z obiektów w bazie danych przy użyciu usługi Azure DevOps, który zaktualizuje zarówno repozytorium, jak i obiekty bazy danych. Można również edytować obiekty bezpośrednio w repozytorium lub "wypchnąć" je tam, ale w tym przypadku wykonać wszystkie kroki w środowisku usługi Azure DevOps.

  1. W widoku obszaru roboczego samouczka upewnij się, że obszar roboczy został skonfigurowany pod kontrolą źródła, a wszystkie obiekty mają wartość Zsynchronizowane.

  2. W widoku Obszar roboczy zobaczysz ikonę git, wybraną gałąź i komunikat o ostatniej synchronizacji obszaru roboczego z kontrolą źródła. Obok daty i godziny zobaczysz link identyfikatora dla określonej lokalizacji w środowisku usługi Azure DevOps. Otwórz ten link, aby kontynuować.

    Zrzut ekranu przedstawia link do lokalizacji środowiska usługi Azure DevOps w obszarze roboczym.

  3. Zaloguj się do środowiska usługi Azure DevOps, jeśli jest to wymagane.

  4. Po przejściu do środowiska usługi Azure DevOps wybierz element Pliki w okienku eksploratora. Zostaną wyświetlone obiekty zsynchronizowane z bazą danych SQL w sieci szkieletowej i repozytorium.

  5. Rozwiń suppy_chain_analytics_database. SQLDatabase, następnie dbo, a następnie Tabele, a następnie Suppliers.sql obiekt.

    Zrzut ekranu przedstawia obiekt bazy danych Dostawcy w usłudze Azure DevOps.

Zwróć uwagę na definicję języka T-SQL tabeli w zawartości obiektu. W środowisku kodowania produkcyjnego ten obiekt zostanie zmieniony przy użyciu narzędzi programistycznych, takich jak Visual Studio lub Visual Studio Code. W każdym razie definicja tego obiektu bazy danych jest replikowana do repozytorium, które zostało zdublowane z bieżącego stanu bazy danych. Użyjemy kontroli źródła usługi Azure DevOps, aby wprowadzić pewne zmiany w obiektach bazy danych w następnych krokach samouczka.

  1. [Fax] Znajdź wiersz definicji kolumny i wybierz przycisk Edytuj. Edytuj definicję kolumny na [Fax] NVARCHAR (255) NULL,.

  2. Wybierz przycisk Zatwierdź.

    Zrzut ekranu przedstawiający edytowanie definicji kolumny Faks w tabeli Dostawcy w usłudze Azure DevOps.

  3. Wypełnij wyświetlone pole komunikatu Commit (Zatwierdź ) i wybierz przycisk Commit (Zatwierdź ). Staraj się być opisem każdej zmiany kontroli źródła, aby zapewnić korzyści twojego i twojego zespołu.

  4. Zatwierdzenie zapisuje zmianę w repozytorium.

  5. Wróć do bazy danych SQL w portalu sieci szkieletowej, a następnie wybierz pozycję Kontrola źródła.

  6. Masz jedną aktualizację oczekującą. W środowisku produkcyjnym zapoznasz się z tymi zmianami. Wybierz przycisk Aktualizuj wszystko. Aktualizacja może zająć trochę czasu.

  7. Wybierz bazę danych SQL w polu Nazwa sieci szkieletowej. Otwórz nowe okno zapytania w bazie danych SQL.

  8. Skopiuj i wklej następujący kod T-SQL, aby zobaczyć zmiany w tabeli na żywo w bazie danych:

    SELECT * FROM INFORMATION_SCHEMA.COLUMNS WHERE TABLE_NAME = 'Suppliers';
    
  9. Wprowadź następujący kod języka T-SQL, który wysyła zapytanie, aby dodać kolumnę o nazwie Notes do Suppliers tabeli. Wyróżnij tylko tę sekcję kodu i wybierz przycisk Uruchom :

    ALTER TABLE Suppliers ADD Notes NVARCHAR(MAX);
    
  10. Teraz wróć do obszaru roboczego samouczka w portalu sieci szkieletowej.

  11. Wybierz przycisk Kontrola źródła i zwróć uwagę, że zamiast aktualizacji system wyświetla żądanie zmiany. Zaznacz pole wyboru obok nazwy obiektu, a następnie wybierz przycisk Zatwierdź .

  12. System zatwierdza zmiany wprowadzone w edytorze zapytań i możesz wrócić do portalu usługi Azure DevOps i przejść do obszaru Pliki oraz dbo schematu, a następnie tabel i Suppliers obiektu, aby wyświetlić nową kolumnę. (Może być konieczne odświeżenie strony, aby zobaczyć zmianę).

    Zrzut ekranu przedstawia tabelę Dostawcy z innym typem danych faksu.

Wiesz już, jak można wchodzić w interakcje ze schematami obiektów bazy danych SQL z kontroli źródła w usłudze Azure DevOps. Aby uzyskać więcej informacji na temat kontroli źródła w usłudze Microsoft Fabric, zobacz Integracja kontroli źródła bazy danych SQL w usłudze Microsoft Fabric i Samouczek: zarządzanie cyklem życia w sieci szkieletowej.

Konfigurowanie i konfigurowanie interfejsu API GraphQL

Nawiązywanie połączenia z aplikacją bazy danych często polega na zainstalowaniu zestawu bibliotek dla aplikacji korzystającej z protokołu strumienia danych tabelarycznych (TDS), który współdziała bezpośrednio z bazą danych.

Usługa Microsoft Fabric zawiera interfejs GraphQL do pracy nie tylko z bazami danych, ale z wieloma źródłami danych. Można również połączyć te źródła dla zintegrowanego widoku danych. GraphQL to język zapytań dla interfejsów API, który umożliwia żądanie dokładnie potrzebnych danych, co ułatwia rozwijanie interfejsów API w czasie i włączanie zaawansowanych narzędzi deweloperskich. Zawiera pełny i zrozumiały opis danych w interfejsie API, dając klientom możliwość zapytań o dokładnie to, czego potrzebują, i nic więcej. Dzięki temu aplikacje korzystające z języka GraphQL są szybkie i stabilne, ponieważ kontrolują one uzyskiwane dane, a nie serwer. Interfejs GraphQL można traktować jako widok zestawu danych zawartych w źródle danych. Możesz wykonywać zapytania dotyczące danych i zmieniać dane przy użyciu mutacji. Więcej informacji na temat języka GraphQL można uzyskać w tej dokumentacji.

Możesz rozpocząć tworzenie interfejsów API GraphQL bezpośrednio z poziomu edytora zapytań SQL sieci szkieletowej. Sieć szkieletowa tworzy schemat GraphQL automatycznie na podstawie danych, a aplikacje są gotowe do nawiązania połączenia w ciągu kilku minut.

Tworzenie interfejsu API dla języka GraphQL

Aby utworzyć interfejs API dla języka GraphQL, który będzie używany dla aplikacji:

  1. Otwórz portal bazy danych samouczka.

  2. Wybierz przycisk Nowy i wybierz pozycję INTERFEJS API dla języka GraphQL.

  3. Wprowadź tekst supplier_impact_gql w polu Nazwa elementu i wybierz pozycję Utwórz.

  4. Zostanie wyświetlony panel Wybieranie danych . Przewiń do momentu znalezienia SupplyChain.vProductsBySupplierswidoku utworzonego wcześniej w tym samouczku. Wybierz je.

    Zrzut ekranu przedstawia podgląd danych w widoku Wybierz podgląd danych.

  5. Wybierz przycisk Załaduj.

  6. Na panelu Query1 zastąp widoczny tam tekst następującym ciągiem zapytania GraphQL:

    query { vProductsbySuppliers(filter: { SupplierLocationID: { eq: 7 } }) { items { CompanyName SupplierLocationID ProductCount } } }
    
  7. Wybierz przycisk Uruchom w oknie Query1. Wyniki zapytania GraphQL są zwracane do okna Wyniki w formacie JSON.

    Zrzut ekranu przedstawiający zapytanie GraphQL i zestaw wyników dla bazy danych SQL.

  8. Wybierz przycisk Kopiuj punkt końcowy na wstążce.

  9. Wybierz przycisk Kopiuj po wyświetleniu panelu linku Kopiuj. Zapisz ten ciąg w Notatniku lub w innej lokalizacji, która ma być używana w przykładowej aplikacji na potrzeby tego samouczka. Na przykład będzie wyglądać mniej więcej tak: https://api.fabric.microsoft.com/v1/workspaces/<work space id>/graphqlapis/<graph api id>/graphql

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. Aby uzyskać więcej informacji, zobacz Create GraphQL API from your SQL database in the Fabric portal (Tworzenie interfejsu API GraphQL z bazy danych SQL w portalu sieci szkieletowej).

Tworzenie aplikacji internetowej w celu wykonywania zapytań o dane

Do tej pory w tym samouczku utworzono bazę danych, która przechowuje sprzedaż i produkty dla firmy Contoso oraz dodała dostawców i dołączała jednostki przy użyciu języka Transact-SQL (T-SQL). Teraz chcesz zezwolić deweloperom na korzystanie z danych bez konieczności uczenia się języka T-SQL, a także umożliwiać wykonywanie zapytań dotyczących wielu składników usługi Microsoft Fabric w jednym interfejsie. Uruchom tę aplikację lokalnie w własnym interfejsie REST platformy .NET, który uzyskuje dostęp do punktu końcowego GraphQL utworzonego w tym samouczku. Tę aplikację można również wdrożyć bezpośrednio na platformie Microsoft Azure jako aplikację internetową lub na innym wybranym serwerze internetowym.

Tworzenie aplikacji internetowej przy użyciu bazy danych SQL w interfejsie API sieci szkieletowej dla języka GraphQL

Poproszono Cię o utworzenie aplikacji, która pokazuje wszystkich dostawców, których dotyczy problem, jeśli lokalizacja ma przerwa w łańcuchu dostaw z powodu klęsk żywiołowych lub innych przerw. Ten kod pokazuje, jak utworzyć aplikację ASP.NET, która używa zapytania GraphQL w celu uzyskania dostępu do zapytania w punkcie końcowym SQL In Fabric GraphQL utworzonym w ostatniej sekcji samouczka.

  1. Zainstaluj odpowiedni zestaw .NET SDK dla systemu operacyjnego.
  2. Otwórz zasób w tej lokalizacji i wykonaj wszystkie kroki, które tam widzisz.

Przykładowe zrzuty ekranu aplikacji z tego samouczka są następujące:

Zrzut ekranu przedstawiający przykładową aplikację w usłudze Azure Websites w przeglądarce internetowej.

Zrzut ekranu przedstawiający przykładową witrynę internetową graphql z wynikami zapytania Liczba produktów według dostawców.

Następny krok