Примечание.
Для доступа к этой странице требуется авторизация. Вы можете попробовать войти или изменить каталоги.
Для доступа к этой странице требуется авторизация. Вы можете попробовать изменить каталоги.
Расширение MSSQL для Visual Studio Code включает интегрированный пользовательский интерфейс для построителя API данных, поэтому вы можете создавать конечные точки REST, GraphQL и MCP для таблиц базы данных SQL без написания файлов конфигурации или выхода Из Visual Studio Code. Вы можете выбрать таблицы для отображения, настроить разрешения CRUD, выбрать типы API, просмотреть предварительный вид созданной конфигурации и развернуть локальную серверную часть, основанную на Data API Builder, все из визуального интерфейса.
Подсказка
Конструктор API данных в настоящее время находится в предварительной версии и может измениться в зависимости от отзывов. Присоединитесь к сообществу в GitHub Discussions , чтобы поделиться идеями или сообщить о проблемах.
Это важно
Эта функция имеет известные ограничения, включая поддержку только проверки подлинности SQL для развертывания контейнеров и совместимости с ограниченным типом данных. Ознакомьтесь с известными ограничениями и известными проблемами перед развертыванием.
Features
Интеграция конструктора API данных предоставляет следующие возможности:
- Выберите сущности базы данных (таблицы), чтобы экспортировать как конечные точки API, организованные по схеме с возможностью сворачивания групп.
- Настройте разрешения Создать, Читать, Обновить и Удалить (CRUD) независимо для каждой сущности.
- Выберите типы API для создания: REST, GraphQL, MCP или любое сочетание.
- Настройте дополнительные параметры сущности, включая пользовательские пути REST, имена типов GraphQL и роли авторизации.
- Предпросмотр созданной конфигурации JSON в построителе API данных в панели определения в режиме только для чтения.
- Развертывание конструктора API данных локально в качестве контейнера Docker с автоматическими проверками обязательных условий.
- Проверьте выполнение API непосредственно в Visual Studio Code с помощью встроенного простого браузера.
- Используйте чат GitHub Copilot для настройки сущностей с помощью запросов естественного языка.
Необходимые условия
Перед использованием построителя API данных убедитесь, что выполнены следующие требования:
- Устанавливается расширение MSSQL для Visual Studio Code. Инструкции по установке см. в обзоре расширения MSSQL для Visual Studio Code .
- Активное подключение к базе данных устанавливается с помощью расширения MSSQL. Инструкции по подключению см. в Кратком руководстве: Подключение и выполнение запросов к базе данных с использованием расширения MSSQL для Visual Studio Code.
- Docker Desktop установлен и запущен на компьютере (требуется для локального развертывания).
- (Необязательно) Расширения GitHub Copilot и GitHub Copilot Chat устанавливаются для конфигурации сущностей с поддержкой ИИ.
Конструктор API открытых данных
Представление конфигурации Data API Builder можно открыть из двух входных точек:
В обозревателе объектов: щелкните правой кнопкой мыши узел базы данных и выберите "Создать API данных" (предварительная версия)....
В конструкторе схем: нажмите кнопку API конструктора (кнопка в правом верхнем углу панели инструментов) или щелкните значок серверной части на левой панели.
Откроется представление конфигурации построителя данных, отображающее сущности базы данных, параметры типа API и элементы управления конфигурацией.
Выберите сущности
В представлении выбора сущностей перечислены все таблицы из подключенной базы данных, сгруппированные по схеме.
- Каждая строка схемы является сворачиваемой и отображает значок счетчика, указывающий, сколько сущностей включено (например, "3/5").
- Установите флажок уровня схемы, чтобы переключить все сущности в этой схеме. Флажок поддерживает выбор три состояния: все, нет или смешанные.
- В каждой строке сущности отображаются следующие элементы: флажок включения, имя сущности, исходная таблица, флажки CRUD и кнопка настроек.
- Отключение сущности затеняет её строку и отключает флажки CRUD и кнопку настроек.
Используйте поле фильтра вверху для поиска сущностей по имени, схеме или исходной таблице. Фильтр не учитывает регистр, а счетчик включенных элементов обновляется на основе отфильтрованных результатов.
Настройка разрешений и типов API
Разрешения CRUD
Установите флажки "Создать", "Чтение", "Обновить" и "Удалить " для каждой сущности. Флажки CRUD уровня заголовка включают и отключают данное действие для всех включенных сущностей и поддерживают выделение трех состояний.
Выбор типа API
В верхней части представления конфигурации выберите типы API для создания:
- REST API: создает конечные точки REST с помощью пользовательского интерфейса Swagger для тестирования.
- GraphQL: создает конечные точки GraphQL с помощью игровой площадки Nitro GraphQL.
- MCP (предварительная версия): создает конечные точки протокола контекста модели.
- Все: выбирает или отменяет выбор всех типов API.
Выберите хотя бы один тип API.
Расширенная конфигурация сущностей
Щелкните значок шестеренки в строке сущности, чтобы открыть диалоговое окно "Расширенная конфигурация сущностей ", где можно настроить:
- Имя сущности: имя, используемое в маршрутах и ответах API (по умолчанию — имя таблицы).
- Роль авторизации. Переключение между анонимным (без обязательной проверки подлинности) и проверкой подлинности (требуется проверка подлинности пользователя).
-
Пользовательский путь REST: необязательное переопределение для пути по умолчанию
api/entityName. - Пользовательский тип GraphQL: необязательное переопределение имени типа GraphQL по умолчанию.
Выберите Применить изменения, чтобы сохранить конфигурацию, или Отмена, чтобы отменить.
Просмотр конфигурации
Нажмите кнопку "Вид конфигурации" на панели инструментов, чтобы открыть панель "Определение " в нижней части представления конфигурации. На этой панели показан созданный файл конфигурации JSON построителя данных в режиме только для чтения.
Панель определения:
- Отражает текущий выбор сущностей, типы API и дополнительные параметры.
- Остается в синхронизации с пользовательским интерфейсом и чатом GitHub Copilot: изменения, внесенные в любом из мест, немедленно обновляют предпросмотр.
- В выходные данные конфигурации включаются только активированные сущности.
- Отображает разделы среды выполнения REST, GraphQL и MCP на основе выбранных типов API.
Выберите "Открыть в редакторе" , чтобы просмотреть конфигурацию на полной вкладке редактора Visual Studio Code. Выберите "Копировать", чтобы скопировать конфигурацию в буфер обмена.
Локальное развертывание с помощью Docker
Построитель API данных развертывается как локальный контейнер Docker. Мастер развертывания поможет вам выполнить следующие действия.
Нажмите кнопку "Развернуть " на панели инструментов.
Откроется диалоговое окно "Развертывание контейнера DAB" , описывающее развертывание локального контейнера. Нажмите кнопку Далее.
Экран "Подготовка к работе с Docker" выполняет проверки готовности к предварительным требованиям последовательно:
- Проверка установки Docker: проверяет, установлен Docker в вашей системе.
- Запуск Docker Desktop: убедитесь, что Docker Desktop запущен.
- Проверка подсистемы Docker: проверяет, готов ли подсистема Docker.
Нажмите кнопку "Далее ", чтобы продолжить после завершения всех проверок.
Откроется экран "Параметры контейнера" :
- Имя контейнера: необязательное имя контейнера Docker (предоставляется автоматическое создание по умолчанию).
-
Порт: порт для предоставления API (по умолчанию:
5000). - Контейнер повторно использует строку подключения из активного подключения к базе данных.
Выберите "Создать контейнер".
Развертывание выполняет три шага последовательно: извлечение образа, запуск контейнера и проверка готовности.
При успешном развертывании мастер отображает URL-адреса конечных точек для каждого включенного типа API:
Тип API Конечная точка Действие REST http://localhost:{port}/apiПросмотр Swagger открывает пользовательский интерфейс Swagger GraphQL http://localhost:{port}/graphqlNitro открывает игровую площадку GraphQL MCP http://localhost:{port}/mcpДобавление в VS Code записывает конфигурацию сервера MCP в .vscode/mcp.jsonВыберите любую ссылку, чтобы открыть интерфейс тестирования во встроенном простом браузере Visual Studio Code.
В следующем примере показан пользовательский интерфейс Swagger для тестирования конечных точек REST непосредственно в Visual Studio Code:
В следующем примере показана площадка Nitro GraphQL для тестирования запросов и мутаций GraphQL:
Тестирование запущенного API
После развертывания вы можете протестировать API непосредственно из диалогового окна завершения развертывания с помощью встроенного в Visual Studio Code браузера.
REST API
Выберите "Просмотреть Swagger ", чтобы открыть пользовательский интерфейс Swagger, интерактивный визуальный интерфейс для изучения и тестирования конечных точек REST. Вы можете просматривать доступные сущности, просматривать схемы запросов и ответов и выполнять вызовы API напрямую.
Построитель API данных создает следующие конечные точки REST для каждой включенной сущности:
| Метод | Конечная точка | Описание |
|---|---|---|
GET |
/api/{entity} |
Список всех записей сущности |
GET |
/api/{entity}/{primaryKey}/{value} |
Получение одной записи по первичному ключу |
POST |
/api/{entity} |
Создание новой записи |
PUT |
/api/{entity}/{primaryKey}/{value} |
Замена существующей записи |
PATCH |
/api/{entity}/{primaryKey}/{value} |
Обновление определенных полей записи |
DELETE |
/api/{entity}/{primaryKey}/{value} |
Удалить запись |
Дополнительные сведения о конечных точках REST см. в разделе REST API построителя API данных.
GraphQL
Выберите Nitro , чтобы открыть игровую площадку Nitro GraphQL, где можно создавать и тестировать запросы GraphQL и изменения в интерактивном режиме.
Дополнительные сведения о конечных точках GraphQL см. в разделе строителя данных API GraphQL.
MCP
Выберите «Добавить в VS Code», чтобы записать конфигурацию сервера MCP в .vscode/mcp.json. Эта конфигурация делает конечную точку построителя данных доступной как сервер MCP в Visual Studio Code. Затем средства ИИ, такие как GitHub Copilot, могут взаимодействовать с базой данных с помощью API построителя данных.
Дополнительные сведения о MCP в Visual Studio Code см. в статье "Использование серверов MCP в Visual Studio Code".
Тестирование терминала
Кроме того, можно протестировать конечные точки из терминала:
REST API:
Получите все записи из определенного объекта.
curl http://localhost:{port}/api/{entityName}
Создайте новую запись (если разрешение на создание включено):
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 } } }"}'
Подсказка
Замените {port} на порт, который вы настроили во время развертывания (по умолчанию: 5000).
Интеграция GitHub Copilot
Для разработчиков, которые предпочитают естественный язык, GitHub Copilot встроен в среду взаимодействия с Data API builder. Нажмите кнопку Chat на панели инструментов, чтобы открыть сеанс чата GitHub Copilot, охваченный контекстом конфигурации Data API builder. GitHub Copilot и пользовательский интерфейс остаются в синхронизации: изменения, внесенные через чат, немедленно отражаются в пользовательском интерфейсе и наоборот.
Ниже приведены некоторые примеры запросов:
"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?"
В следующем примере показано, как GitHub Copilot включает сущности и настраивает разрешения CRUD с помощью запроса чата:
В следующем примере показано, как GitHub Copilot включает конечные точки MCP для конфигурации построителя данных:
Замечание
Интеграция GitHub Copilot требует установки и входа в расширения GitHub Copilot и GitHub Copilot Chat. Инструкции по настройке см. в разделе "Настройка GitHub Copilot".
Известные ограничения
- Только таблицы: пользовательский интерфейс конфигурации поддерживает только таблицы. В настоящее время представления и хранимые процедуры недоступны в конструкторе.
- Требуется Docker Desktop: для локального развертывания требуется установить и запустить Docker Desktop.
-
Только проверка подлинности SQL: локальные контейнеры Docker не поддерживают методы проверки подлинности Microsoft Entra ID, например
ActiveDirectoryInteractive, поскольку среда контейнера не может открыть браузер для интерактивного потока входа. Расширение отображает уведомление, если текущее подключение использует неподдерживаемый тип проверки подлинности. - База данных SQL в Microsoft Fabric не поддерживается: база данных SQL в Microsoft Fabric требует исключительно проверки подлинности Microsoft Entra и не поддерживает проверку подлинности SQL. Так как для локального развертывания контейнеров требуется SQL-аутентификация, развертывание в базе данных SQL в Fabric не является целесообразным сценарием.
- Обязательный первичный ключ: каждая сущность таблицы, предоставляемая с помощью построителя данных, должна иметь ограничение первичного ключа, определенное на уровне базы данных. Таблицы без первичного ключа приводят к сбою движка построителя API данных при запуске.
- Выходные данные, созданные искусственным интеллектом, следует проверить: GitHub Copilot может создавать неправильные или неоптимальные конфигурации. Перед развертыванием всегда просматривайте созданные конфигурации.
Известные проблемы
-
Неподдерживаемые типы данных SQL Server: построитель данных не может сериализовать определенные типы данных SQL Server. Таблицы, содержащие столбцы с неподдерживаемыми типами, могут привести к сбою модуля при запуске. Неподдерживаемые типы включают
geography, ,geometry,hierarchyid,rowversionsql_variantиxml. Расширение помечает затронутые сущности значком предупреждения и предотвращает их выбор для развертывания. Последние сведения о поддержке типов данных см. в статье о проблеме GitHub #3181. - Интерактивная проверка подлинности Идентификатора Microsoft Entra не поддерживается для развертывания контейнера. Контейнер построителя данных не может выполнять интерактивную проверку подлинности Microsoft Entra. Подключения с помощью интерактивных методов идентификатора Microsoft Entra блокируются с уведомлением. Дополнительные сведения см. в статье о проблеме GitHub #3246.
- MCP находится в режиме предварительной версии: в настоящее время опыт работы с MCP для построителя API данных находится в предварительной версии. Дополнительные сведения см. в разделе "Построитель api данных MCP Preview".
Отзывы и поддержка
Если у вас есть идеи, отзывы или хотите взаимодействовать с сообществом, присоединитесь к обсуждению https://aka.ms/vscode-mssql-discussions. Чтобы сообщить об ошибке, посетите сайт https://aka.ms/vscode-mssql-bug. Чтобы запросить новую функцию, перейдите в раздел https://aka.ms/vscode-mssql-feature-request.
Связанный контент
- Что такое построитель API данных?
- Документация по построителю API данных
- Расширение GitHub Copilot для MSSQL для Visual Studio Code
- Конструктор схем
- Интеграция GitHub Copilot с конструктором схем (предварительная версия)
- Краткое руководство. Подключение к базе данных и запрос к ней с расширением MSSQL для Visual Studio Code
- Локальный контейнер SQL Server
- Документация по Visual Studio Code
- Расширение MSSQL для репозитория Visual Studio Code на сайте GitHub