Поделиться через


Что такое построитель API данных для баз данных Azure?

Построитель API данных (DAB) — это механизм с открытым исходным кодом, основанный на конфигурации, который создает API REST и GraphQL для поддерживаемых баз данных, таких как SQL Server, Azure Cosmos DB, PostgreSQL и MySQL. DAB выполняется в любом облаке или локальной среде, и его можно использовать бесплатно. Вы настраиваете его с помощью одного JSON-файла, чтобы можно было предоставлять объекты базы данных без написания пользовательского API.

Иллюстрация талисмана конструктора Data API в строительной каске.

Построитель api данных заменяет большинство пользовательских API данных, выполняющих универсальные операции CRUD (создание, чтение, обновление, удаление) для базы данных. DAB не зависит от языка, технологии и платформы. Для него не требуется код приложения и один файл конфигурации. Лучше всего, что это действительно бесплатно, без платного уровня, и работает без состояния в любом месте.

Поддержка конечных точек

Конструктор API данных поддерживает конечные точки REST и GraphQL по умолчанию и одновременно. С версией 1.7 и более поздними версиями DAB также поддерживает протокол контекста модели (MCP) для приложений агента с одинаковыми функциональными возможностями.

Схема поддержки конечных точек в построителе API данных.

DAB включает кроссплатформенный интерфейс командной строки, OpenTelemetry и проверки состояния. Он также поддерживает OpenAPI и Swagger для конечных точек REST и Nitro (ранее называемых Банановый Торт Поп) для конечных точек GraphQL.

Подсказка

Функции конечной точки "из коробки":

  • Разбивка на страницы данных
  • Фильтрация данных
  • Сортировка данных
  • Выбор столбца
  • Хранимые процедуры
  • Навигация по связям

Поддержка базы данных

Построитель API данных (DAB) поддерживает одновременно несколько внутренних источников данных, включая реляционные и источники NoSQL. Поддерживаемые базы данных включают SQL Server и Azure SQL, Azure Cosmos DB, PostgreSQL и MySQL. Дополнительные сведения и ограничения по базам данных см. в разделе "Функции, связанные с базой данных".

Схема поддерживаемых баз данных для построителя API данных.

Построитель api данных может подключаться к нескольким источникам данных одновременно. Можно объединить реляционные источники с базами данных JSON или документами, а также смешивать облачные и локальные базы данных. Эта гибкость позволяет DAB поддерживать все, от простых настроек до сложных топологий развертывания.

Безопасность

Контейнер без состояния, совместимый с Docker, от Data API builder можно защитить с помощью EasyAuth службы приложений Azure, идентификации Microsoft Entra или любого сервера JSON Web Token (JWT). Он имеет гибкий механизм политики, детализированные элементы управления безопасностью и автоматически передает данные утверждений в контекст сеанса SQL.

Схема параметров проверки подлинности для построителя API данных.

Построитель данных поддерживает несколько поставщиков проверки подлинности:

Provider Сценарий использования
Идентификатор Microsoft Entra Производственные приложения с использованием идентификации Microsoft
Настраиваемый JWT Сторонние поставщики удостоверений (Okta, Auth0, Keycloak)
Служба приложений Приложения, работающие за службой приложений Azure EasyAuth
Симулятор Локальная разработка и тестирование

Пошаговые руководства по настройке см. в разделе "Общие сведения о безопасности".

Архитектура

Эта схема разбивает связь между всеми компонентами построителя API данных. Она начинается с схемы базы данных, которая определяет таблицы, представления и хранимые процедуры. Файл конфигурации DAB проецирует эти объекты в слой абстракции. На этом слое вы определяете сущности, выбираете поля или присваиваете псевдонимы, определяете связи и применяете разрешения. Во время выполнения построитель API данных считывает эту конфигурацию для создания согласованной поверхности API, предоставляя одну и ту же модель сущности через конечные точки REST и GraphQL. Это разделение позволяет независимо развивать базу данных при сохранении стабильного безопасного контракта для приложений и клиентов.

Схема архитектуры построителя API данных.

Построитель API данных настраивается с помощью одного JSON-файла. В файле вы определяете следующее:

  • Подключение сервера к источникам данных
  • Какие таблицы, представления и хранимые процедуры доступны
  • Как сущности формируются, именованы и связаны
  • Какие роли разрешены для доступа к каждой операции

Варианты развертывания

Схема параметров размещения контейнеров для построителя API данных.

DAB хорошо работает с приложениями контейнеров Azure, экземплярами контейнеров Azure, службой Azure Kubernetes и веб-приложениями Azure для контейнеров. DAB работает с этими службами, полностью поддерживая пользовательские локальные развертывания.

Интеграция и возможности

DAB также легко интегрируется с Application Insights. Файл конфигурации может отражать связи в базе данных или определять новые виртуальные с поддержкой горячей перезагрузки. Конечные точки GraphQL позволяют использовать несколько вложенных инструкций Create в одной транзакции, в то время как конечные точки REST отличаются кэшированием в памяти и широкими возможностями поддержки ключевых слов строки запроса, подобных OData.

Меньше кода, больше функций

DAB может помочь уменьшить пользовательский код API, сократить конвейеры CI/CD и внедрить стандарты и расширенные возможности, которые обычно зарезервированы для крупнейших команд разработки. Она безопасна и богата функциями, оставаясь невероятно простой, масштабируемой и наблюдаемой.

Открытый исходный код

Построитель api данных — это открытый исходный код и выпущен в соответствии с лицензией MIT. Репозиторий доступен на сайте GitHub в azure/data-api-builder.