Udostępnij za pośrednictwem


Konstruktor interfejsu API danych (wersja zapoznawcza)

Rozszerzenie MSSQL dla programu Visual Studio Code zawiera zintegrowany interfejs użytkownika dla konstruktora interfejsu API danych, dzięki czemu można tworzyć punkty końcowe REST, GraphQL i MCP dla tabel bazy danych SQL bez zapisywania plików konfiguracji lub opuszczania programu Visual Studio Code. Możesz wybrać tabele do uwidocznienia, skonfigurować uprawnienia CRUD, wybrać typy interfejsów API, wyświetlić podgląd wygenerowanej konfiguracji i wdrożyć lokalne zaplecze obsługiwane przez konstruktora interfejsu API danych— wszystko z poziomu interfejsu wizualnego.

Zrzut ekranu przedstawiający interfejs użytkownika konstruktora interfejsu API danych z listą jednostek i polami wyboru CRUD w programie Visual Studio Code.

Wskazówka

Konstruktor interfejsu API danych jest obecnie w wersji zapoznawczej i może ulec zmianie na podstawie opinii. Dołącz do społeczności w dyskusjach usługi GitHub , aby podzielić się pomysłami lub zgłaszać problemy.

Ważna

Ta funkcja ma znane ograniczenia, w tym obsługę tylko uwierzytelniania SQL na potrzeby wdrażania kontenera i zgodności z ograniczonymi typami danych. Przed wdrożeniem zapoznaj się ze znanymi ograniczeniami i znanymi problemami .

Features

Integracja narzędzia Data API Builder oferuje następujące możliwości:

  • Wybierz jednostki bazy danych (tabele), aby uwidocznić jako punkty końcowe interfejsu API uporządkowane według schematu z zwijanym grupowaniem.
  • Skonfiguruj uprawnienia tworzenia, odczytu, aktualizacji i usuwania (CRUD) niezależnie dla każdej jednostki.
  • Wybierz typy interfejsów API do wygenerowania: interfejsy REST, GraphQL, MCP lub dowolną kombinację.
  • Skonfiguruj zaawansowane ustawienia jednostek, w tym niestandardowe ścieżki REST, niestandardowe nazwy typów GraphQL i role autoryzacji.
  • Wyświetl podgląd wygenerowanej konfiguracji JSON kreatora interfejsu API danych w panelu definicji w trybie tylko do odczytu.
  • Lokalne wdrażanie konstruktora interfejsu API danych jako kontenera platformy Docker przy użyciu zautomatyzowanych testów wymagań wstępnych.
  • Przetestuj uruchomione interfejsy API bezpośrednio w programie Visual Studio Code przy użyciu wbudowanej przeglądarki Simple Browser.
  • Użyj czatu Copilot w usłudze GitHub, aby skonfigurować jednostki za pomocą monitów języka naturalnego.

Wymagania wstępne

Przed rozpoczęciem korzystania z konstruktora interfejsu API danych upewnij się, że zostały spełnione następujące wymagania:

Budowniczy interfejsu API otwartych danych

Widok konfiguracji konstruktora interfejsu API danych można otworzyć z dwóch punktów wejścia:

  • W Eksploratorze obiektów: kliknij prawym przyciskiem myszy węzeł bazy danych i wybierz pozycję Kompiluj interfejs API danych (wersja zapoznawcza)....

    Zrzut ekranu przedstawiający widok konfiguracji konstruktora interfejsu API danych z listą jednostek i polami wyboru CRUD w programie Visual Studio Code.

  • W projektancie schematów: wybierz przycisk Interfejs API projektowania (przycisk w prawym górnym rogu paska narzędzi) lub wybierz ikonę Zaplecza w panelu po lewej stronie.

    Zrzut ekranu przedstawiający przycisk Interfejs API projektowania i ikonę zaplecza na pasku narzędzi Projektant schematu.

Zostanie otwarty widok konfiguracji konstruktora interfejsu API danych zawierający jednostki bazy danych, opcje typu interfejsu API i kontrolki konfiguracji.

Wybieranie encji

Widok wyboru jednostki zawiera listę wszystkich tabel z połączonej bazy danych pogrupowanych według schematu.

  • Każdy wiersz schematu jest zwijany i pokazuje wskaźnik liczby wskazujący, ile jednostek jest włączonych (na przykład "3/5").
  • Zaznacz pole wyboru na poziomie schematu, aby przełączyć wszystkie jednostki w tym schemacie. Pole wyboru obsługuje zaznaczenie trójstanowe: wszystkie, żadne lub mieszane.
  • Każdy wiersz jednostki zawiera: pole wyboru włączenia, nazwę jednostki, tabelę źródłową, pola wyboru CRUD oraz przycisk ustawień.
  • Wyłączenie obiektu powoduje wyszarzenie wiersza oraz wyłączenie checkboxów CRUD i przycisku do ustawień.

Użyj pola filtru u góry, aby wyszukać jednostki według nazwy, schematu lub tabeli źródłowej. Filtr jest niewrażliwy na wielkość liter, a liczba włączonych aktualizuje się na podstawie filtrowanych wyników.

Zrzut ekranu przedstawiający pole filtru jednostki, w którym wyszukiwany termin służy do filtrowania listy jednostek.

Konfigurowanie uprawnień i typów interfejsów API

Uprawnienia CRUD

Przełącz poszczególne pola wyboru Utwórz, Odczyt, Aktualizuj i Usuń dla każdej jednostki. Pola wyboru CRUD na poziomie nagłówka przełączają tę akcję dla wszystkich włączonych jednostek i obsługują wybór trójstanu.

Wybór typu interfejsu API

W górnej części widoku konfiguracji wybierz typy interfejsów API do wygenerowania:

  • Interfejs API REST: generuje punkty końcowe dla REST za pomocą Swagger UI na potrzeby testowania.
  • GraphQL: generuje punkty końcowe GraphQL za pomocą narzędzia Nitro GraphQL playground.
  • MCP (wersja zapoznawcza): generuje punkty końcowe protokołu kontekstu modelu.
  • Wszystko: wybiera lub odznacza wszystkie typy API.

Wybierz co najmniej jeden typ interfejsu API.

Zrzut ekranu przedstawiający pola wyboru Interfejs API REST, GraphQL, MCP i Wszystkie w górnej części widoku konfiguracji konstruktora interfejsu API danych.

Zaawansowana konfiguracja jednostki

Wybierz ikonę koła zębatego w wierszu jednostki, aby otworzyć okno dialogowe Zaawansowana konfiguracja jednostki, w którym można skonfigurować:

  • Nazwa jednostki: nazwa używana w ścieżkach i odpowiedziach API (domyślnie jest to nazwa tabeli).
  • Rola autoryzacji: przełączanie się między anonimowym (bez wymaganego uwierzytelniania) i Uwierzytelnione (wymaga uwierzytelniania użytkownika).
  • Niestandardowa ścieżka REST: opcjonalne zastąpienie ścieżki domyślnej api/entityName .
  • Własny typ GraphQL: opcjonalne zastąpienie domyślnej nazwy typu GraphQL.

Wybierz pozycję Zastosuj zmiany , aby zapisać konfigurację, lub przycisk Anuluj , aby odrzucić.

Zrzut ekranu przedstawiający okno dialogowe Zaawansowana konfiguracja encji z polami Nazwa encji, Rola autoryzacji, Niestandardowa ścieżka REST i Niestandardowy typ GraphQL.

Konfiguracja wersji zapoznawczej

Wybierz przycisk Wyświetl konfigurację na pasku narzędzi, aby otworzyć panel Definicja w dolnej części widoku konfiguracji. Ten panel przedstawia wygenerowany plik konfiguracji JSON konstruktora interfejsu API danych w formacie tylko do odczytu.

Panel definicji:

  • Odzwierciedla wybór bieżącej jednostki, typy interfejsów API i ustawienia zaawansowane.
  • Pozostaje zsynchronizowany z interfejsem użytkownika i czatem GitHub Copilot: zmiany wprowadzone w obu lokalizacjach natychmiast aktualizują wersję zapoznawczą.
  • Obejmuje w danych wyjściowych konfiguracji tylko włączone jednostki.
  • Przedstawia sekcje środowiska uruchomieniowego REST, GraphQL i MCP na podstawie wybranych typów interfejsów API.

Wybierz pozycję Otwórz w edytorze, aby wyświetlić konfigurację na pełnej karcie edytora programu Visual Studio Code. Wybierz pozycję Kopiuj , aby skopiować konfigurację do schowka.

Zrzut ekranu przedstawiający panel Definicji pokazujący wygenerowaną konfigurację JSON konstruktora API danych z przyciskami Otwórz w Edytorze i Kopiuj.

Wdrażanie lokalne przy użyciu platformy Docker

Konstruktor interfejsu API danych jest wdrażany jako lokalny kontener platformy Docker. Kreator wdrażania przeprowadzi Cię przez proces:

  1. Wybierz przycisk Wdróż na pasku narzędzi.

  2. Zostanie otwarte okno dialogowe Wdrażanie kontenera DAB opisujące wdrożenie kontenera lokalnego. Wybierz Dalej.

    Zrzut ekranu przedstawiający okno dialogowe Wdrażanie kontenera DAB z opisem wdrożenia kontenera lokalnego.

  3. Ekran Getting Docker Ready (Przygotowywanie platformy Docker) uruchamia testy wstępne sekwencyjnie:

    • Sprawdzanie instalacji platformy Docker: sprawdza, czy platforma Docker jest zainstalowana w systemie.
    • Uruchamianie programu Docker Desktop: zapewnia działanie programu Docker Desktop.
    • Sprawdzanie silnika Docker: weryfikuje, czy silnik Docker jest gotowy.

    Zrzut ekranu przedstawiający testy wymagań wstępnych platformy Docker uruchamiane sekwencyjnie.

    Wybierz przycisk Dalej , aby kontynuować po zakończeniu wszystkich testów.

    Zrzut ekranu przedstawiający pomyślnie zakończone testy wymagań wstępnych platformy Docker.

  4. Zostanie wyświetlony ekran Ustawienia kontenera :

    • Nazwa kontenera: opcjonalna nazwa kontenera platformy Docker (podano automatycznie wygenerowaną wartość domyślną).
    • Port: port, na którym można udostępniać interfejs API (ustawienie domyślne: 5000).
    • Kontener ponownie używa parametrów połączenia z aktywnej bazy danych.

    Wybierz pozycję Utwórz kontener.

    Zrzut ekranu przedstawiający ekran Ustawienia kontenera z polami Nazwa kontenera i Port.

  5. Wdrożenie wykonuje trzy kroki sekwencyjnie: ściąganie obrazu, uruchamianie kontenera i sprawdzanie gotowości.

    Zrzut ekranu przedstawiający postęp wdrażania przedstawiający kroki tworzenia kontenera.

  6. Po pomyślnym wdrożeniu kreator wyświetla adresy URL punktów końcowych dla każdego włączonego typu interfejsu API:

    Typ API Punkt końcowy Action
    REST http://localhost:{port}/api View Swagger otwiera interfejs użytkownika Swagger
    GraphQL http://localhost:{port}/graphql Nitro otwiera plac zabaw GraphQL
    MCP http://localhost:{port}/mcp Dodaj do VS Code zapisuje konfigurację serwera MCP do .vscode/mcp.json

    Wybierz dowolny link, aby otworzyć interfejs testowania we wbudowanej przeglądarce Simple Browser programu Visual Studio Code.

    Zrzut ekranu przedstawiający ukończone wdrażanie z widokiem kontenera narzędzia do tworzenia interfejsu API danych z adresami URL punktów końcowych.

    Poniższy przykład przedstawia interfejs Swagger do testowania punktów końcowych REST bezpośrednio w programie Visual Studio Code.

    Zrzut ekranu z interfejsu Swagger dla punktów końcowych REST w ramach Visual Studio Code Simple Browser.

    W poniższym przykładzie przedstawiono interaktywne środowisko Nitro GraphQL do testowania zapytań i mutacji GraphQL.

    Zrzut ekranu przedstawiający plac zabaw Nitro GraphQL w programie Visual Studio Code Simple Browser.

Testowanie uruchomionego interfejsu API

Po wdrożeniu możesz przetestować interfejsy API bezpośrednio z poziomu okna dialogowego ukończenia wdrażania przy użyciu wbudowanej przeglądarki Simple Browser programu Visual Studio Code.

interfejs API REST

Wybierz pozycję Wyświetl Swagger, aby otworzyć Swagger UI, interaktywny interfejs wizualny do eksplorowania i testowania punktów końcowych REST. Dostępne jednostki można przeglądać, wyświetlać schematy żądań i odpowiedzi oraz wykonywać bezpośrednio wywołania interfejsu API.

Konstruktor interfejsu API danych generuje następujące punkty końcowe REST dla każdej włączonej jednostki:

Metoda Punkt końcowy Opis
GET /api/{entity} Wyświetlanie listy wszystkich rekordów dla jednostki
GET /api/{entity}/{primaryKey}/{value} Pobierz pojedynczy rekord za pomocą klucza podstawowego
POST /api/{entity} Utwórz nowy rekord
PUT /api/{entity}/{primaryKey}/{value} Zastępowanie istniejącego rekordu
PATCH /api/{entity}/{primaryKey}/{value} Aktualizowanie określonych pól w rekordzie
DELETE /api/{entity}/{primaryKey}/{value} Usuwanie rekordu

Aby uzyskać więcej informacji na temat punktów końcowych REST, zobacz Interfejs API REST konstruktora interfejsu API danych.

GraphQL

Wybierz Nitro, aby otworzyć plac zabaw Nitro GraphQL, gdzie możesz interaktywnie pisać i testować zapytania i mutacje w GraphQL.

Aby uzyskać więcej informacji na temat punktów końcowych GraphQL, zobacz GraphQL API konstruktora interfejsu API danych.

MCP

Wybierz pozycję Dodaj do programu VS Code, aby zapisać konfigurację serwera MCP na ..vscode/mcp.json Ta konfiguracja sprawia, że punkt końcowy konstruktora interfejsu API danych jest dostępny jako serwer MCP w programie Visual Studio Code. Narzędzia sztucznej inteligencji, takie jak GitHub Copilot, mogą następnie współpracować z bazą danych za pomocą API Data API Builder.

Aby uzyskać więcej informacji na temat programu MCP w programie Visual Studio Code, zobacz Używanie serwerów MCP w programie Visual Studio Code.

Testowanie terminalowe

Punkty końcowe można również przetestować z poziomu terminalu:

REST API:

Pobierz wszystkie rekordy z określonej jednostki:

curl http://localhost:{port}/api/{entityName}

Utwórz nowy rekord (jeśli uprawnienie Utwórz jest włączone):

curl -X POST http://localhost:{port}/api/{entityName} \
  -H "Content-Type: application/json" \
  -d '{"Column1": "Value1", "Column2": "Value2"}'

GraphQL:

curl -X POST http://localhost:{port}/graphql \
  -H "Content-Type: application/json" \
  -d '{"query": "{ {entityName} { items { Column1 Column2 } } }"}'

Wskazówka

Zastąp {port} element portem skonfigurowanym podczas wdrażania (ustawienie domyślne: 5000).

Integracja z usługą GitHub Copilot

Dla deweloperów, którzy wolą język naturalny, narzędzie GitHub Copilot jest wbudowane w środowisko konstruktora interfejsu API danych. Wybierz przycisk Czat na pasku narzędzi, aby otworzyć sesję czatu w usłudze GitHub Copilot z ograniczeniem do kontekstu konfiguracji narzędzia konstrukcji interfejsu API danych. GitHub Copilot i interfejs użytkownika pozostają zsynchronizowane: zmiany wprowadzone za pośrednictwem czatu są natychmiast odzwierciedlane w interfejsie użytkownika i na odwrót.

Oto kilka przykładowych monitów:

  • "Enable all SalesLT entities for read operations"
  • "Expose only the Customer and Product tables with full CRUD permissions"
  • "Set all entities in the dbo schema to read-only"
  • "Disable the BuildVersion and ErrorLog entities"
  • "Can you also enable MCP for the Data API builder API?"

Poniższy przykład przedstawia, jak GitHub Copilot umożliwia konfigurację jednostek oraz uprawnień CRUD za pomocą polecenia czatu:

Zrzut ekranu przedstawiający włączanie jednostek i ustawianie uprawnień CRUD za pomocą monitu języka naturalnego w czacie konstruktora interfejsu API danych.

W poniższym przykładzie przedstawiono narzędzie GitHub Copilot umożliwiające punkty końcowe MCP dla konfiguracji konstruktora interfejsu API danych:

Zrzut ekranu funkcji GitHub Copilot, aktywującej punkty końcowe MCP za pomocą podpowiedzi języka naturalnego w czacie kreatora interfejsu API danych.

Uwaga / Notatka

Integracja z GitHub Copilot wymaga zainstalowania i zalogowania się w rozszerzeniach GitHub Copilot oraz GitHub Copilot Chat. Aby uzyskać instrukcje dotyczące konfiguracji, zobacz Konfigurowanie narzędzia GitHub Copilot.

Znane ograniczenia

  • Tylko tabele: interfejs użytkownika konfiguracji obsługuje tylko tabele. Widoki i procedury składowane nie są obecnie dostępne w kreatorze.
  • Wymagany program Docker Desktop: wdrożenie lokalne wymaga zainstalowania i uruchomienia programu Docker Desktop.
  • Tylko uwierzytelnianie SQL: lokalne kontenery platformy Docker nie obsługują metod uwierzytelniania microsoft Entra ID, takich jak ActiveDirectoryInteractive, ponieważ środowisko kontenera nie może otworzyć przeglądarki dla przepływu logowania interakcyjnego. Rozszerzenie wyświetla powiadomienie, jeśli bieżące połączenie używa nieobsługiwanego typu uwierzytelniania.
  • Baza danych SQL w usłudze Microsoft Fabric nie jest obsługiwana: baza danych SQL w usłudze Microsoft Fabric wymaga wyłącznie uwierzytelniania firmy Microsoft Entra i nie obsługuje uwierzytelniania SQL. Ponieważ wdrożenie kontenera lokalnego wymaga uwierzytelniania SQL, wdrażanie w bazie danych SQL w Fabric nie jest praktycznym rozwiązaniem.
  • Wymagany klucz podstawowy: każda jednostka tabeli uwidoczniona za pośrednictwem konstruktora interfejsu API danych musi mieć ograniczenie klucza podstawowego zdefiniowane na poziomie bazy danych. Silnik Data API Builder nie uruchamia się, gdy tabele nie mają klucza podstawowego.
  • Dane wyjściowe generowane przez sztuczną inteligencję powinny być przeglądane: narzędzie GitHub Copilot może generować nieprawidłowe lub nieoptymalne konfiguracje. Przed wdrożeniem należy zawsze przeglądać wygenerowane konfiguracje.

Znane problemy

  • Nieobsługiwane typy danych programu SQL Server: Konstruktor interfejsu API danych nie może serializować niektórych typów danych programu SQL Server. Tabele zawierające kolumny z nieobsługiwanymi typami mogą spowodować niepowodzenie silnika podczas uruchamiania. Nieobsługiwane typy obejmują geography, , geometry, hierarchyidrowversion, sql_variant, i xml. Rozszerzenie oznacza jednostki objęte ikoną ostrzeżenia i uniemożliwia ich wybranie do wdrożenia. Aby uzyskać najnowsze informacje na temat obsługi typów danych, zobacz Problem z usługą GitHub #3181.
  • Interaktywne uwierzytelnianie Microsoft Entra ID nie jest obsługiwane w przypadku wdrażania kontenerów: Kontener narzędzia budującego API danych nie może wykonać interaktywnego uwierzytelniania Microsoft Entra. Połączenia korzystające z interakcyjnych metod identyfikatora Entra firmy Microsoft są blokowane za pomocą powiadomienia. Aby uzyskać więcej informacji, zobacz Problem z usługą GitHub #3246.
  • MCP jest w wersji zapoznawczej: Środowisko MCP konstruktora interfejsu API danych jest obecnie dostępne w wersji zapoznawczej. Aby uzyskać więcej informacji, zobacz Narzędzie do tworzenia interfejsu API danych w wersji zapoznawczej MCP.

Opinie i wsparcie

Jeśli masz pomysły, opinie lub chcesz zaangażować się w społeczność, dołącz do dyskusji na stronie https://aka.ms/vscode-mssql-discussions. Aby zgłosić usterkę, odwiedź stronę https://aka.ms/vscode-mssql-bug. Aby zażądać nowej funkcji, przejdź do strony https://aka.ms/vscode-mssql-feature-request.