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


Создание приложения с помощью DevOps и API GraphQL

Применимо к:базе данных SQL в Microsoft Fabric

В этом разделе руководства вы будете использовать ресурсы, созданные для создания веб-приложения, позволяющего пользователю выбрать регион, затронутый сбоем, а затем увидеть других поставщиков в этом регионе, чтобы предупредить компанию о любых дальнейших сбоях в цепочке поставок. Вы создадите конечную точку GraphQL по данным, а затем создадите приложение ASP.NET, которое можно развернуть локально или в поставщике облачных служб.

Проекты разработки программного обеспечения включают задачи "Операции разработчика" (DevOps), одна из которых — управление версиями. Начните этот раздел, разместив элементы, созданные в системе управления версиями.

В этой статье представлен ряд полезных сценариев для создания приложения на основе базы данных SQL в Fabric.

Необходимые компоненты

CI/CD в Fabric с Azure DevOps

В этой части руководства вы узнаете, как работать с базой данных SQL в Microsoft Fabric с Azure DevOps.

База данных SQL в Microsoft Fabric имеет интеграцию системы управления версиями, позволяя пользователям SQL отслеживать определения своих объектов базы данных с течением времени и в команде:

  • Команда может зафиксировать базу данных в систему управления версиями, которая автоматически преобразует динамическую базу данных в код в настроенный репозиторий системы управления версиями (Azure DevOps).

  • Команда может обновить объекты базы данных из содержимого системы управления версиями, которая проверяет код в Azure DevOps перед применением разностного изменения к базе данных.

    Схема простого цикла управления версиями.

Если вы не знакомы с управлением исходным кодом в Microsoft Fabric, рекомендуемый ресурс:

Начало работы с системой управления версиями

После завершения этих предварительных требований вы можете синхронизировать рабочую область с Azure DevOps. Это позволяет зафиксировать любые изменения, внесенные в рабочую область в ветвь Azure DevOps, и обновлять рабочую область всякий раз, когда кто-либо создает новые фиксации в ветви Azure DevOps.

Теперь вы измените один из объектов в базе данных с помощью Azure DevOps, который обновит как репозиторий, так и объекты базы данных. Вы также можете изменить объекты непосредственно в репозитории или отправить их там, но в этом случае выполните все действия в среде Azure DevOps.

  1. В представлении рабочей области учебника убедитесь, что рабочая область настроена под управлением версиями и все объекты отображаются в синхронизированном режиме.

  2. В представлении рабочей области вы увидите значок git, выбранную ветвь и сообщение о последнем синхронизации рабочей области с системой управления версиями. Рядом с датой и временем вы увидите ссылку идентификатора для конкретного расположения в среде Azure DevOps. Откройте ссылку, чтобы продолжить.

    Снимок экрана: ссылка на расположение среды Azure DevOps в рабочей области.

  3. При запросе войдите в среду Azure DevOps.

  4. В среде Azure DevOps выберите элемент "Файлы " в области обозревателя. Отображаются объекты, синхронизированные с базой данных SQL в Fabric и репозиторием.

  5. Разверните suppy_chain_analytics_database. SQLDatabase, а затем dbo, а затем таблицы, а затем Suppliers.sql объект.

    Снимок экрана: объект базы данных

Обратите внимание на определение таблицы T-SQL в содержимом объекта. В рабочей среде программирования этот объект будет изменен с помощью таких средств разработки, как Visual Studio или Visual Studio Code. В любом случае определение этого объекта базы данных реплицируется в репозиторий, который вы зеркально отображали из текущего состояния базы данных. Давайте используем систему управления версиями Azure DevOps, чтобы внести некоторые изменения в объекты базы данных в следующих шагах руководства.

  1. [Fax] Найдите строку определения столбца и нажмите кнопку "Изменить". Измените определение [Fax] NVARCHAR (255) NULL,столбца в .

  2. Нажмите кнопку "Зафиксировать ".

    Снимок экрана: изменение определения столбца факса в таблице

  3. Заполните появившемся поле сообщения "Фиксация" и нажмите кнопку "Зафиксировать". Старайтесь быть описательными о каждом изменении системы управления версиями для вашей команды и преимущества вашей команды.

  4. Фиксация записывает изменения в репозиторий.

  5. Вернитесь к базе данных SQL на портале Fabric и выберите "Управление версиями".

  6. У вас есть одно обновление. В рабочей среде вы просмотрите эти изменения. Нажмите кнопку "Обновить все ". Обновление может занять некоторое время.

  7. Выберите базу данных SQL в имени Fabric. Откройте новое окно запроса в базе данных SQL.

  8. Скопируйте и вставьте следующий код T-SQL, чтобы увидеть изменения в таблице в реальном времени в базе данных:

    SELECT * FROM INFORMATION_SCHEMA.COLUMNS WHERE TABLE_NAME = 'Suppliers';
    
  9. Введите следующий код T-SQL, который запрашивает добавление столбца с именем Notes в таблицу Suppliers . Выделите только этот раздел кода и нажмите кнопку "Выполнить ":

    ALTER TABLE Suppliers ADD Notes NVARCHAR(MAX);
    
  10. Теперь вернитесь в рабочую область учебника на портале Fabric.

  11. Нажмите кнопку "Управление версиями" и обратите внимание, что вместо обновления в системе отображается запрос на изменение . Установите флажок рядом с именем объекта и нажмите кнопку "Зафиксировать ".

  12. Система фиксирует изменения, внесенные в редакторе запросов, и вы можете вернуться на портал Azure DevOps и перейти к области файлов и схеме, а затем таблицы и dbo Suppliers объект, чтобы увидеть новый столбец. (Может потребоваться обновить страницу, чтобы увидеть изменение.)

    Снимок экрана: таблица

Теперь вы узнали, как взаимодействовать со схемами объектов базы данных SQL из системы управления версиями в Azure DevOps. Дополнительные сведения об управлении версиями в Microsoft Fabric см. в статье об интеграции системы управления версиями базы данных SQL в Microsoft Fabric и руководстве по управлению жизненным циклом в Fabric.

Настройка и настройка API GraphQL

Подключение к приложению базы данных часто включает установку набора библиотек для приложения, используюющего протокол табличного потока данных (TDS), который взаимодействует непосредственно с базой данных.

Microsoft Fabric включает интерфейс GraphQL для работы не только с базами данных, но и с несколькими источниками данных. Вы также можете объединить эти источники для интегрированного представления данных. GraphQL — это язык запросов для API, который позволяет запрашивать именно необходимые данные, что упрощает развитие API с течением времени и включение мощных средств разработчика. Он предоставляет полное и понятное описание данных в API, предоставляя клиентам возможность запрашивать именно то, что им нужно и ничего больше. Это делает приложения с помощью GraphQL быстрым и стабильным, так как они управляют данными, которые они получают, а не сервером. Интерфейс GraphQL можно представить как представление набора данных, содержащегося в источнике данных. Вы можете запросить данные и изменить их с помощью изменений. Дополнительные сведения о GraphQL см. в этой ссылке.

Вы можете начать создавать API GraphQL непосредственно из редактора запросов SQL Fabric. Структура автоматически создает схему GraphQL на основе данных, и приложения готовы подключаться в минутах.

Создание API для GraphQL

Чтобы создать API для GraphQL, который будет использоваться для приложения:

  1. Откройте портал базы данных учебника.

  2. Нажмите кнопку "Создать " и выберите API для GraphQL.

  3. Введите текст supplier_impact_gql для имени элемента и нажмите кнопку "Создать".

  4. Откроется панель выбора данных . Прокрутите страницу, пока не найдете SupplyChain.vProductsBySuppliersпредставление, созданное ранее в этом руководстве. Выберите ее.

    Снимок экрана: выбор предварительного просмотра данных в представлении.

  5. Нажмите кнопку "Загрузить ".

  6. На панели Query1 замените текст, который вы видите там, на следующую строку запроса GraphQL:

    query { vProductsbySuppliers(filter: { SupplierLocationID: { eq: 7 } }) { items { CompanyName SupplierLocationID ProductCount } } }
    
  7. Нажмите кнопку "Выполнить" в окне "Запрос1". Результаты запроса GraphQL возвращаются в окно результатов в формате JSON.

    Снимок экрана: запрос GraphQL и результирующий набор для базы данных SQL.

  8. Нажмите кнопку "Копировать конечную точку " на ленте.

  9. Нажмите кнопку "Копировать", когда появится панель ссылок "Копировать". Сохраните эту строку в блокноте или другом расположении, которое будет использоваться в примере приложения для этого руководства. Например, он будет выглядеть примерно так: https://api.fabric.microsoft.com/v1/workspaces/<work space id>/graphqlapis/<graph api id>/graphql

API для GraphQL теперь готов принимать подключения и запросы. Редактор API можно использовать для тестирования и прототипа запросов GraphQL и обозревателя схем для проверки типов данных и полей, предоставляемых в API. Дополнительные сведения см. в разделе "Создание API GraphQL" из базы данных SQL на портале Fabric.

Создание веб-приложения для запроса данных

До сих пор в этом руководстве вы создали базу данных, в которой хранятся продажи и продукты компании Contoso, а также добавлены поставщики и присоединение сущностей с помощью Transact-SQL (T-SQL). Теперь вы хотите разрешить разработчикам использовать данные без необходимости изучать T-SQL, а также разрешать им запрашивать несколько компонентов Microsoft Fabric в одном интерфейсе. Запустите это приложение локально в локальном интерфейсе REST .NET, который обращается к конечной точке GraphQL, созданной в этом руководстве. Вы также можете развернуть это приложение непосредственно в Microsoft Azure в качестве веб-приложения или на другом веб-сервере вашего выбора.

Создание веб-приложения с помощью базы данных SQL в API Fabric для GraphQL

Вам было предложено создать приложение, показывающее всех затронутых поставщиков, если расположение имеет разрыв цепочки поставок из-за стихийных бедствий или других прерываний. В этом коде показано, как создать приложение ASP.NET, использующее запрос GraphQL для доступа к запросу в конечной точке SQL In Fabric GraphQL, созданной в последнем разделе руководства.

  1. Установите соответствующий пакет SDK для .NET для операционной системы.
  2. Откройте ресурс в этом расположении и выполните все действия, которые вы видите там.

Примеры снимков экрана приложения из этого руководства:

Снимок экрана: веб-браузер с примером приложения на веб-сайтах Azure.

Снимок экрана: веб-браузер с примером веб-сайта graphql, предоставляющего результаты запроса, количество продуктов по поставщикам.

Следующий шаг