Примечание.
Для доступа к этой странице требуется авторизация. Вы можете попробовать войти или изменить каталоги.
Для доступа к этой странице требуется авторизация. Вы можете попробовать изменить каталоги.
Построитель API данных (DAB) — это механизм с открытым исходным кодом, основанный на конфигурации, который создает API REST и GraphQL для поддерживаемых баз данных, таких как SQL Server, Azure Cosmos DB, PostgreSQL и MySQL. DAB выполняется в любом облаке или локальной среде, и его можно использовать бесплатно. Вы настраиваете его с помощью одного JSON-файла, чтобы можно было предоставлять объекты базы данных без написания пользовательского API.
Построитель api данных заменяет большинство пользовательских API данных, выполняющих универсальные операции CRUD (создание, чтение, обновление, удаление) для базы данных. DAB не зависит от языка, технологии и платформы. Для него не требуется код приложения и один файл конфигурации. Лучше всего, что это действительно бесплатно, без платного уровня, и работает без состояния в любом месте.
Поддержка конечных точек
Конструктор API данных поддерживает конечные точки REST и GraphQL по умолчанию и одновременно. С версией 1.7 и более поздними версиями DAB также поддерживает протокол контекста модели (MCP) для приложений агента с одинаковыми функциональными возможностями.
DAB включает кроссплатформенный интерфейс командной строки, OpenTelemetry и проверки состояния. Он также поддерживает OpenAPI и Swagger для конечных точек REST и Nitro (ранее называемых Банановый Торт Поп) для конечных точек GraphQL.
Подсказка
Функции конечной точки "из коробки":
- Разбивка на страницы данных
- Фильтрация данных
- Сортировка данных
- Выбор столбца
- Хранимые процедуры
- Навигация по связям
Поддержка базы данных
Построитель API данных (DAB) поддерживает одновременно несколько внутренних источников данных, включая реляционные и источники NoSQL. Поддерживаемые базы данных включают SQL Server и Azure SQL, Azure Cosmos DB, PostgreSQL и MySQL. Дополнительные сведения и ограничения по базам данных см. в разделе "Функции, связанные с базой данных".
Построитель api данных может подключаться к нескольким источникам данных одновременно. Можно объединить реляционные источники с базами данных JSON или документами, а также смешивать облачные и локальные базы данных. Эта гибкость позволяет DAB поддерживать все, от простых настроек до сложных топологий развертывания.
Безопасность
Контейнер без состояния, совместимый с Docker, от Data API builder можно защитить с помощью EasyAuth службы приложений Azure, идентификации Microsoft Entra или любого сервера JSON Web Token (JWT). Он имеет гибкий механизм политики, детализированные элементы управления безопасностью и автоматически передает данные утверждений в контекст сеанса SQL.
Построитель данных поддерживает несколько поставщиков проверки подлинности:
| Provider | Сценарий использования |
|---|---|
| Идентификатор Microsoft Entra | Производственные приложения с использованием идентификации Microsoft |
| Настраиваемый JWT | Сторонние поставщики удостоверений (Okta, Auth0, Keycloak) |
| Служба приложений | Приложения, работающие за службой приложений Azure EasyAuth |
| Симулятор | Локальная разработка и тестирование |
Пошаговые руководства по настройке см. в разделе "Общие сведения о безопасности".
Архитектура
Эта схема разбивает связь между всеми компонентами построителя API данных. Она начинается с схемы базы данных, которая определяет таблицы, представления и хранимые процедуры. Файл конфигурации DAB проецирует эти объекты в слой абстракции. На этом слое вы определяете сущности, выбираете поля или присваиваете псевдонимы, определяете связи и применяете разрешения. Во время выполнения построитель API данных считывает эту конфигурацию для создания согласованной поверхности API, предоставляя одну и ту же модель сущности через конечные точки REST и GraphQL. Это разделение позволяет независимо развивать базу данных при сохранении стабильного безопасного контракта для приложений и клиентов.
Построитель API данных настраивается с помощью одного JSON-файла. В файле вы определяете следующее:
- Подключение сервера к источникам данных
- Какие таблицы, представления и хранимые процедуры доступны
- Как сущности формируются, именованы и связаны
- Какие роли разрешены для доступа к каждой операции
Варианты развертывания
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.