Управление версиями (предварительный просмотр)

Применимо к:✅ Хранилище в Microsoft Fabric

В этой статье объясняется, как работают конвейеры интеграции и развертывания Git для складов в Microsoft Fabric. Узнайте, как настроить подключение к репозиторию, управлять хранилищами и развертывать их в разных средах. Система управления версиями для хранилища Fabric в настоящее время представлена в предварительной версии.

Можно использовать как интеграцию Git , так и конвейеры развертывания для различных сценариев.

  • Используйте проекты базы данных Git и SQL для управления добавочными изменениями, совместной работой команды и журналом фиксации в отдельных объектах базы данных.
  • Используйте конвейеры развертывания для передачи изменений кода в предпромышленные и производственные среды.

Интеграция с Git

Интеграция Git в Microsoft Fabric позволяет разработчикам интегрировать свои процессы разработки, инструменты и рекомендации непосредственно в платформу Fabric. Это позволяет разработчикам, которые разрабатывают на платформе Fabric:

  • Резервное копирование и версионирование их работы
  • Вернуться к предыдущим этапам по мере необходимости
  • Совместная работа с другими пользователями или работайте в одиночку с помощью ветвей Git
  • Применяйте возможности знакомых средств управления версиями для управления элементами «Fabric».

Дополнительные сведения о процессе интеграции Git см. в следующих статье:

Настройка подключения к системе управления версиями

На странице параметров рабочей области можно легко настроить подключение к репозиторию для фиксации и синхронизации изменений.

  1. Чтобы настроить подключение, см. статью "Начало работы с интеграцией Git". Следуйте инструкциям Подключиться к репозиторию Git в Azure DevOps или GitHub в качестве поставщиков Git.
  2. После подключения элементы, включая склады, отображаются на панели системы контроля версий. Скриншот с портала Fabric, показывающий хранилище в параметрах управления исходным кодом.
  3. После успешного подключения экземпляров хранилища к репозиторию Git вы увидите структуру папок хранилища в репозитории. Теперь можно выполнять предстоящие операции, например, создание пулл-реквеста.

Проекты базы данных для хранилища в Git

Ниже приведен пример структуры файлов каждого элемента хранилища в репозитории:

Скриншот из портала Fabric с примером схемы склада.

При фиксации элемента хранилища в репозитории Git хранилище преобразуется в формат исходного кода в виде проекта базы данных SQL. Проект SQL — это локальное представление объектов SQL, составляющих схему отдельной базы данных, таких как таблицы, хранимые процедуры или функции. Структура папок объектов базы данных организована по типу схемы или объекта. Каждый объект в хранилище представлен с помощью файла .sql, содержащего определение языка определения данных (DDL). Данные таблицы хранилища и функции безопасности SQL не включены в проект базы данных SQL.

Общие запросы также вносятся в репозиторий и наследуют имя, под которым они были сохранены.

Конвейеры развертывания

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

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

  1. Создайте новый конвейер развертывания или откройте существующий конвейер развертывания. Дополнительные сведения см. в статье "Начало работы с конвейерами развертывания".
  2. Назначьте рабочие области различным этапам в соответствии с целями развертывания.
  3. Выберите, просмотрите и сравните элементы, включая склады, на разных этапах, как показано в следующем примере. Скриншот с портала Fabric этапов разработки, тестирования и производства.
  4. Выберите «Развернуть», чтобы развернуть ваши хранилища на этапах разработки, тестирования и эксплуатации.

Дополнительные сведения о процессе конвейеров развертывания Fabric см. Введение в конвейеры развертывания.

Ограничения в системе управления версиями

  • Необходимо экспортировать или перенести функции безопасности SQL с помощью подхода на основе скрипта. Рассмотрите возможность использования скрипта после развертывания в проекте базы данных SQL. Этот скрипт можно настроить, открыв проект с расширением SQL Database Projects доступно в Visual Studio Code.

Ограничения интеграции Git

  • В настоящее время при использовании ALTER TABLE для добавления ограничения или столбца в проект базы данных процесс развертывания удаляет и воссоздаёт таблицу, что приводит к потере данных. Чтобы сохранить определение и данные таблицы, рассмотрите следующее обходное решение:
    • Создайте новую копию таблицы в хранилище с помощью CREATE TABLE, INSERT, CREATE TABLE AS SELECT или Клонирование таблицы.
    • Измените определение новой таблицы, добавив новые ограничения или столбцы при необходимости, по мере необходимости, используя ALTER TABLE.
    • Удалите старую таблицу.
    • Переименуйте новую таблицу в имя старой таблицы с помощью sp_rename.
    • Измените определение старой таблицы в проекте базы данных SQL точно так же. Теперь проект базы данных SQL хранилища в системе управления версиями и динамического хранилища должен соответствовать.
  • В настоящее время не создавайте поток данных 2-го поколения с назначением выходных данных в хранилище. Новый элемент с именем DataflowsStagingWarehouse появляется в репозитории и блокирует коммит и обновление из Git.
  • Интеграция Git с Fabric не поддерживает объект конечной точки SQL Analytics.
  • Перекрестные зависимости элементов, последовательности элементов и пробелы синхронизации между конечной точкой аналитики SQL и хранилищем влияют на "ветвление в новую или существующую рабочую область" и "переключение на другую ветвь" рабочих процессов во время разработки и непрерывной интеграции.

Ограничения для конвейеров развертывания

  • В настоящее время при использовании ALTER TABLE для добавления ограничения или столбца в проект базы данных процесс развертывания удаляет и воссоздаёт таблицу, что приводит к потере данных.
  • В настоящее время не создавайте поток данных 2-го поколения с назначением выходных данных в хранилище. Новый элемент DataflowsStagingWarehouse отображается в конвейере развертывания и блокирует развертывание.
  • Потоки развертывания Fabric не поддерживают элемент конечной точки SQL аналитики.
  • Зависимости между элементами, последовательности элементов и пробелы синхронизации между конечной точкой аналитики SQL и хранилищем влияют на рабочие процессы конвейеров развертывания Fabric.

Неподдерживаемые сценарии

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

Во всех этих сценариях, если возникает несоответствие сортировок, используйте скрипт Python scripts/dw-collation-error-update-tmsl/pbi_interactive.py в репозитории Fabric GitHub для обновления сортировки набора данных (TMSL) для соответствия сортировке хранилища.

Сценарий Описание Риск
конвейеры развертывания Продвижение содержимого хранилища с помощью этапов конвейера (например, тест разработки → Test → Prod), где целевое хранилище было создано с другой сортировкой, отличной от источника, не поддерживается. Развертывание может завершиться успешно, но параметры сортировки набора данных не обновляются для сопоставления сортировки целевого хранилища.
Разветвление в новое или существующее рабочее пространство Использование интеграции Git для ветвления из существующей рабочей области в новую или существующую рабочую область, в которой хранилище имеет другую сортировку, не поддерживается. Содержимое хранилища синхронизируется, но метаданные сортировки не согласованы.
Переключение ветвей в рабочей области Переключение на ветвь, связанную с хранилищем другой сортировки в рабочей области, подключенной к Git, не поддерживается. Синхронизированное содержимое может переносить предположения о сортировке, которые не соответствуют текущему хранилищу.
Объединение изменений между рабочими областями с помощью ветвей Объединение ветвей Git между рабочими пространствами, в которых базы данных имеют разные параметры сортировки, не поддерживается. Слияние может завершиться успешно на уровне Git, но результирующая сортировка набора данных не отражает параметры сортировки целевого хранилища.