Примечание.
Для доступа к этой странице требуется авторизация. Вы можете попробовать войти или изменить каталоги.
Для доступа к этой странице требуется авторизация. Вы можете попробовать изменить каталоги.
GraphQL — это язык запросов с открытым исходным кодом и среда выполнения для API, поддерживаемых GraphQL Foundation. В отличие от традиционных интерфейсов REST API, GraphQL позволяет клиентам запрашивать именно те данные, которые им необходимы, в одном запросе, тем самым уменьшая избыточную и недостаточную выборку данных.
API Microsoft Fabric для GraphQL обеспечивает этот мощный стандарт в экосистеме Fabric в качестве уровня доступа к данным, который позволяет быстро и эффективно запрашивать несколько источников данных. API абстрагирует особенности внутренних источников данных, чтобы сосредоточиться на логике приложения и предоставить все данные, необходимые клиенту в одном вызове. Благодаря простому языку запросов и эффективной обработке результирующих наборов GraphQL сводит к минимуму время, когда приложения получают доступ к данным в Fabric.
Почему используйте GraphQL для данных Fabric
Без GraphQL предоставление данных Fabric приложениям обычно требует одного из следующих подходов:
Прямые подключения к базе данных
- Приложения подключаются непосредственно к озерам или хранилищам с помощью драйверов SQL (ODBC, JDBC)
- Программный код плотно связан со схемами базы данных — изменения схемы приводят к сбоям в работе приложений.
- Требуется управление строками подключения, учетными данными и зависимостями драйверов в каждом приложении.
- Запросы SQL, внедренные в код приложения, трудно тестировать и поддерживать
Пользовательские REST API
- Создание и обслуживание пользовательских внутренних служб с такими платформами, как ASP.NET или Node.js
- Написание кода контроллера, логики маршрутизации и уровней доступа к данным для каждой конечной точки
- Создание отдельных версий API (версии 1, v2, v3) при изменении структур данных
- Избыточная выборка данных (получение целых строк, если требуется несколько столбцов) или недовборка (выполнение нескольких запросов для связанных данных)
GraphQL решает следующие задачи:
- Не требуется внутренний код: Структура автоматически создает схему GraphQL, сопоставители и конечную точку из источников данных.
- Запрашивайте именно то, что вам нужно: запрашивайте конкретные поля в одном запросе, чтобы избежать чрезмерного извлечения и уменьшить размеры полезных данных.
- Получение связанных данных в одном запросе: обход связей без нескольких обращений к серверу (нет проблемы N+1-запросов)
- Эволюция схемы без нарушающих изменений: добавление новых полей без влияния на существующие запросы — клиенты запрашивают только те, о которых они знают.
- Безопасность типов и документация: Схема самодокументирования со встроенным интроспектированием, которую понимают инструменты разработки
- Единый доступ к нескольким источникам: запрос между озерами, хранилищами и базами данных SQL через одну конечную точку
Для разработчиков приложений GraphQL означает более быструю разработку с меньшей инфраструктурой. Для инженеров данных это означает предоставление данных без написания и поддержания пользовательского кода API.
Кто должен использовать API для GraphQL
API Fabric для GraphQL предназначен для:
- Разработчики приложений, создающие управляемые данными веб- и мобильные приложения, использующие данные из Fabric Lakehouse и хранилищ.
- Инженеры данных предоставляют данные Fabric подчиненным приложениям с помощью современных гибких API без написания пользовательского внутреннего кода
- Разработчики интеграции подключают данные Fabric к пользовательским приложениям и автоматизированным рабочим процессам
- Разработчики бизнес-аналитики создают пользовательские приложения аналитики, которые дополняют Power BI данными Fabric
- Специалисты по обработке и анализу данных, предоставляющие данные Fabric и аналитику машинного обучения с помощью программных API
Если вы работаете на платформе единой аналитики Microsoft Fabric и должны сделать lakehouse, хранилище или данные базы данных SQL доступными для приложений, API GraphQL предоставляет эффективный, понятный для разработчика способ запрашивать именно необходимые данные.
Подсказка
Хотите интегрировать API GraphQL Fabric с агентами ИИ? Попробуйте создать локальный сервер GraphQL MCP для агентов ИИ, чтобы подключить агентов ИИ к данным Fabric с помощью протокола контекста модели.
Предоставление данных через API GraphQL
Предоставление источников данных элементу GraphQL в Microsoft Fabric является простым и может выполняться в минутах с помощью визуального интерфейса портала Fabric. Процесс включает в себя:
- Создание элемента API GraphQL в рабочей области Fabric
- Подключение источников данных путем выбора из доступных озерных домов, хранилищ или баз данных
- Выберите, какие объекты предоставить, например, таблицы, представления или хранимые процедуры.
- Определение связей (необязательно) между объектами для включения мощных вложенных запросов
- Настройка разрешений для управления доступом к API
После настройки Fabric автоматически создает схему GraphQL, создает необходимые сопоставители и предоставляет URL-адрес конечной точки. API сразу же готов принимать запросы— не требуется настройка развертывания или инфраструктуры.
Пошаговые инструкции см. в статье "Создание API для GraphQL в Fabric" и добавление данных.
Поддерживаемые источники данных
В настоящее время через API Fabric для GraphQL предоставляются следующие поддерживаемые источники данных:
- Хранилище данных Microsoft Fabric
- База данных SQL Microsoft Fabric
- Microsoft Fabric Lakehouse с помощью конечной точки аналитики SQL
- Зеркальные базы данных Microsoft Fabric через конечную точку аналитики SQL, в том числе:
- База данных SQL Azure
- Управляемый экземпляр SQL Azure
- Azure Cosmos DB (облачная база данных)
- База данных SQL Microsoft Fabric
- Azure Databricks
- Snowflake
- Открытые зеркальные базы данных
- База данных SQL Azure
- Datamart
Функции
API Microsoft Fabric для GraphQL предоставляет комплексные возможности, упрощающие доступ к данным для приложений. От автоматического создания кода до мониторинга производительности эти функции позволяют создавать надежные API данных с минимальной конфигурацией.
Автоматическое создание схемы
- Обнаружение схемы: автоматически обнаруживает и сопоставляет схемы источников данных с типами GraphQL
- Создание запросов и мутаций: создает запросы и мутации GraphQL на основе структуры данных.
- Генерация резолверов: автоматически генерирует резолверы, необходимые для получения данных из ваших источников.
- Локальный код тестирования: создает пример кода для немедленного тестирования и разработки
Гибкость источника данных
- Несколько источников данных: подключение и запрос между несколькими источниками данных с поддержкой запросов с эффектом веера
- Объекты базы данных: полная поддержка таблиц, представлений и хранимых процедур в базах данных и хранилищах SQL
- Выборочная экспозиция: выбор определенных объектов и столбцов для предоставления через API
- Моделирование связей: создание связей "один к одному", "один ко многим" и "многие ко многим" между сущностями данных
Операции и мониторинг
- Мониторинг производительности: встроенная панель мониторинга и ведение журнала запросов для отслеживания поведения и использования API
Эволюция схемы без управления версиями
GraphQL использует уникальный подход к эволюции API, избегая традиционного управления версиями. Вместо создания конечных точек версии 1, версии 2 и версии 3 API GraphQL постоянно развиваются:
- Аддитивные изменения: можно добавлять новые типы, поля и возможности, не нарушая существующие запросы. Клиенты запрашивают только необходимые поля, поэтому новые поля не влияют на них.
- Обратная совместимость: существующие запросы продолжают работать даже по мере роста схемы, так как GraphQL возвращает только явно запрошенные данные.
- Отмена удаления: поля можно пометить как нерекомендуемые, а не сразу удалить, что дает клиентам время адаптации.
- Одна конечная точка: приложения всегда подключаются к одной конечной точке независимо от изменений схемы.
Этот подход упрощает обслуживание и обновление клиента API по сравнению с традиционными версиями API. При изменении схемы API GraphQL в Fabric существующие приложения продолжают работать до тех пор, пока вы добавляете новые возможности, а не удаляете или переименование существующих полей. Дополнительные сведения об управлении изменениями схемы см. в разделе API Fabric для анализа и экспорта схем GraphQL.
Интерактивное редактирование
API для GraphQL включает редактор, который позволяет легко разрабатывать и тестировать запросы и изменения. К возможностям редактора относятся:
- Область результатов для визуализации выходных данных запросов и мутаций
- Поддержка параметров запросов и мутаций
- Intellisense, поддерживающий имена объектов GraphQL и синтаксиса GraphQL
Дополнительные сведения об использовании редактора GraphQL см. в api для редактора GraphQL.
Ограничения
Дополнительные сведения см. в статье об ограничениях API для GraphQL .