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


Что такое API Microsoft Fabric для GraphQL?

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. Процесс включает в себя:

  1. Создание элемента API GraphQL в рабочей области Fabric
  2. Подключение источников данных путем выбора из доступных озерных домов, хранилищ или баз данных
  3. Выберите, какие объекты предоставить, например, таблицы, представления или хранимые процедуры.
  4. Определение связей (необязательно) между объектами для включения мощных вложенных запросов
  5. Настройка разрешений для управления доступом к 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 .