Система управления версиями в Synapse Studio

По умолчанию Synapse Studio напрямую применяется к службе Synapse. Если у вас есть потребность в совместной работе с помощью Git для системы управления версиями, Synapse Studio позволяет связать рабочую область с репозиторием Git, Azure DevOps или GitHub.

В этой статье описывается настройка и работа в рабочей области Synapse с включенным репозиторием Git. Также мы обсудим ряд рекомендаций и руководство по устранению неполадок.

Примечание.

Чтобы использовать GitHub в Azure Gov и Microsoft Azure под управлением 21Vianet, вы можете перенести собственное приложение GitHub OAuth в Synapse Studio для интеграции с git. Процесс настройки аналогичен работе с ADF. Вы можете воспользоваться блогом с объявлениями.

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

Для настройки, изменения параметров и отключения репозитория Git в Synapse пользователю необходима роль участника Azure (Azure RBAC) или выше в рабочей области Synapse.

Настройка репозитория Git в Synapse Studio

После запуска Synapse Studio можно настроить репозиторий Git в рабочей области. Рабочая область Synapse Studio может быть связана только с одним репозиторием Git за раз.

Метод конфигурации 1. Глобальная строка

На главной панели Synapse Studio откройте раскрывающееся меню Synapse Live и выберите пункт Настройка репозитория кода.

Configure the code repository settings from authoring

Метод конфигурации 2. Управление центром

Перейдите в раздел управления центром Synapse Studio. В разделе Система управления версиями выберите Конфигурация Git. Если нет подключенного репозитория, нажмите кнопку Настроить.

Configure the code repository settings from management hub

Вы можете подключить репозиторий Git Azure DevOps или GitHub в рабочей области.

Подключение с помощью Azure DevOps Git

Рабочую область Synapse можно сопоставить с репозиторием Azure DevOps Repository для управления исходным кодом, совместной работой, управления версиями и т. д. Если у вас нет репозитория Azure DevOps Repository, создайте его по этим инструкциям.

Параметры репозитория Git для Azure DevOps

При подключении к репозиторию Git сначала выберите тип репозитория в качестве Azure DevOps git, а затем выберите один клиент Microsoft Entra из раскрывающегося списка и нажмите кнопку "Продолжить".

Configure the code repository settings

Область настройки содержит следующие параметры репозитория кода Azure DevOps git:

Параметр Description Значение
Тип репозитория Тип репозитория кода Azure Repos.
Azure DevOps Git или GitHub
Вход между арендаторами Флажок для входа с использованием учетной записи в нескольких арендаторах. Не установлен (по умолчанию)
Идентификатор Microsoft Entra Имя клиента Microsoft Entra. <your tenant name>
Учетная запись Azure DevOps Название вашей организации Azure Repos. Название организации Azure Repos можно найти по адресу https://{organization name}.visualstudio.com. Войдите в свою организацию Azure Repos и получите доступ к профилю Visual Studio, чтобы просмотреть свои репозитории и проекты. <your organization name>
Имя проекта Имя проекта Azure Repos. Имя проекта Azure Repos можно найти по адресу https://{organization name}.visualstudio.com/{project name}. <your Azure Repos project name>
Имя репозитория Имя репозитория кода Azure Repos. Проекты Azure Repos содержат репозитории Git, которые управляют исходным кодом по мере роста проекта. Создайте репозиторий либо используйте репозиторий, который уже имеется в проекте. <your Azure Repos code repository name>
Ветвь совместной работы Ветвь вашей совместной работы в Azure Repos, которая используется для публикации. По умолчанию используется master. Измените этот параметр, если нужно опубликовать ресурсы из другой ветви. Можно выбрать существующие ветви или создать новую <your collaboration branch name>
Корневая папка Корневая папка в ветви совместной работы Azure Repos. <your root folder name>
Импорт существующих ресурсов в репозиторий Указывает, следует ли импортировать имеющиеся ресурсы из Synapse Studio в репозиторий Git Azure Repos. Отметьте это поле, чтобы импортировать ресурсы рабочей области (кроме пулов) в соответствующий репозиторий Git в формате JSON. Это действие экспортирует каждый ресурс по отдельности. Если поле не отмечено, имеющиеся ресурсы не импортируются. Поле отмечено (по умолчанию)
Импортировать ресурс в эту ветвь Выберите ветвь, в которую будут импортированы ресурсы (скрипт SQL, записная книжка, определение задания Spark, набор данных, объект DataFlow и т. д.).

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

Примечание.

Azure Synapse не поддерживает подключение к репозиторию Prem Azure DevOps.

Использование другого клиента Microsoft Entra

Репозиторий Azure Repos Git может находиться в другом клиенте Microsoft Entra. Чтобы указать другой клиент Microsoft Entra, необходимо иметь разрешения администратора для используемой подписки Azure. Дополнительные сведения см. в разделе Изменение администратора подписки.

Важно!

Чтобы подключиться к другому идентификатору Microsoft Entra, пользователь, вошедший в систему, должен быть частью этого Active Directory.

Использование личной учетной записи Майкрософт

Чтобы использовать личную учетную запись Майкрософт для интеграции с Git, можно связать личный репозиторий Azure с Active Directory вашей организации.

  1. Добавление личной учетной записи Майкрософт в Active Directory вашей организации в качестве гостя. Дополнительные сведения см. в разделе "Добавление пользователей совместной работы Microsoft Entra B2B" в портал Azure.

  2. Войдите на портал Azure с помощью личной учетной записи Майкрософт. Перейдите в Active Directory вашей организации.

  3. Перейдите к разделу Azure DevOps, где находится личный репозиторий. Выберите репозиторий и подключитесь к Active Directory.

После этих шагов настройки личный репозиторий станет доступен при управлении интеграцией Git в пользовательском интерфейсе Synapse Studio.

Дополнительные сведения о подключении Azure Repos к Active Directory вашей организации см. в Подключение вашей организации с идентификатором Microsoft Entra.

Использование учетной записи Azure DevOps для нескольких арендаторов

Если Azure DevOps не в том же клиенте, что и рабочая область Synapse, можно настроить рабочую область с помощью учетной записи Azure DevOps между клиентами.

  1. Выберите параметр Вход между арендаторами и нажмите кнопку Продолжить.

    Select the cross tenant sign in

  2. Нажмите кнопку ОК в диалоговом окне.

    Confirm the cross tenant sign in

  3. Щелкните использовать другую учетную запись и войдите в учетную запись Azure DevOps.

    Use another account

  4. После входа выберите каталог и репозиторий и настройте его соответствующим образом.

    Choose the directory

    Примечание.

    Для входа в рабочую область необходимо сначала войти в учетную запись пользователя рабочей области Synapse. Учетная запись Azure DevOps для нескольких арендаторов используется только для входа и получения доступа к репозиторию Azure DevOps, связанному с этой рабочей областью Synapse.

Подключение с помощью GitHub

Рабочую область можно связать с репозиторием GitHub для управления исходным кодом, совместной работы и управления версиями. Если у вас нет учетной записи GitHub или репозитория, создайте их, следуя этим инструкциям.

Интеграция GitHub с Synapse Studio поддерживает общедоступный репозиторий GitHub (https://github.com) и GitHub Enterprise. Вы можете использовать общедоступные и частные репозитории GitHub, если у вас есть разрешения на чтение и запись в репозитории GitHub.

Настройки GitHub

При подключении к репозиторию git сначала выберите в качестве типа репозитория GitHub, а затем укажите свою учетную запись GitHub, URL-адрес сервера GitHub Enterprise Server, если вы используете GitHub Enterprise Server, или имя организации GitHub Enterprise, если вы используете GitHub Enterprise Cloud. Выберите Продолжить.

Примечание.

Если вы используете GitHub Enterprise Cloud, не устанавливайте флажок Use GitHub Enterprise Server (Использовать GitHub Enterprise Server).

GitHub repository settings

Область настройки содержит следующие параметры репозитория кода GitHub:

Параметр Description значение
Тип репозитория Тип репозитория кода Azure Repos. GitHub
Use GitHub Enterprise (Использовать GitHub Enterprise) Флажок для выбора GitHub Enterprise. Не установлен (по умолчанию)
GitHub Enterprise URL (URL-адрес GitHub Enterprise) Корневой URL-адрес GitHub Enterprise (должен быть HTTPS для локального сервера GitHub Enterprise). Например: https://github.mydomain.com. Требуется только в том случае, если установлен флажок Use GitHub Enterprise (Использовать GitHub Enterprise). <your GitHub enterprise url>
Учетная запись GitHub Имя учетной записи GitHub. Это имя можно найти в https://github.com/{account имя}/{имя репозитория}. При переходе на эту страницу вам предложат ввести учетные данные OAuth GitHub для вашей учетной записи GitHub. <your GitHub account name>
Имя репозитория Имя репозитория кода GitHub. Учетные записи GitHub содержат репозитории Git для управления исходным кодом. Создайте репозиторий либо используйте уже имеющийся в учетной записи. <your repository name>
Ветвь совместной работы Ветвь вашей совместной работы в GitHub, которая используется для публикации. По умолчанию используется главная ветвь. Измените этот параметр, если нужно опубликовать ресурсы из другой ветви. <your collaboration branch>
Корневая папка Корневая папка в ветви совместной работы GitHub. <your root folder name>
Импорт существующих ресурсов в репозиторий Указывает, следует ли импортировать имеющиеся ресурсы из Synapse Studio в репозиторий Git. Отметьте это поле, чтобы импортировать ресурсы рабочей области (кроме пулов) в соответствующий репозиторий Git в формате JSON. Это действие экспортирует каждый ресурс по отдельности. Если поле не отмечено, имеющиеся ресурсы не импортируются. Установлен (по умолчанию)
Импортировать ресурс в эту ветвь Выберите ветвь, в которую будут импортированы ресурсы (скрипт SQL, записная книжка, определение задания Spark, набор данных, объект DataFlow и т. д.).

Организации GitHub

Для подключения к организациям GitHub необходимо, чтобы организация предоставляла разрешение на доступ к Synapse Studio. Пользователь с разрешениями администратора в организации должен выполнить следующие действия.

Первое подключение к GitHub

Если вы впервые подключаетесь к GitHub из Synapse Studio, выполните следующие действия для подключения к организации GitHub.

  1. В панели конфигурация Git введите название организации в поле Учетная запись GitHub. Появится запрос на вход в GitHub.

  2. Выполните вход с использованием своих пользовательских учетных данных.

  3. Вам предлагается авторизовать Synapse в качестве приложения Azure Synapse. На этом экране вы увидите возможность предоставить разрешение Synapse для доступа к организации. Если этот вариант не показан для предоставления разрешения, попросите администратора вручную назначить разрешение через GitHub.

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

При уже имеющемся подключении к GitHub с помощью личной учетной записи

Если вы уже подключились к GitHub и предоставили разрешение только на доступ к своей личной учетной записи, выполните следующие действия, чтобы предоставить разрешения на доступ к организации.

  1. Перейдите в GitHub и откройте Settings (Настройки).

    Open GitHub settings

  2. Выберите пункт Заявления. На вкладке Разрешенные приложения OAuth вы должны увидеть Azure Synapse.

    Authorize OAuth Apps

  3. Выберите Azure Synapse и предоставьте доступ своей организации.

    Grant organization permission

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

Управление версиями

Системы управления версиями (также известные как управление версиями) позволяют разработчикам совместно работать над кодом и отслеживать изменения. Система управления версиями — это важный инструмент для проектов с несколькими разработчиками.

Создание ветвей возможностей

Каждый репозиторий Git, который связан с Synapse Studio, имеет ветвь совместной работы. (main или master — ветвь совместной работы по умолчанию). Пользователи также могут создавать ветви компонентов, щелкнув +Создать ветвь в раскрывающемся списке ветвей.

Create new branch

Когда откроется панель для новой ветви, введите имя ветви для компонента и выберите базовую ветвь, на основе которой она будет создана.

Create branch based on private branch

Когда вы будете готовы объединить изменения из ветвь компонента в ветвь совместной работы, щелкните раскрывающийся список ветвей и нажмите кнопку "Создать запрос на вытягивание". Это действие приведет вас к поставщику Git, где можно инициировать запросы на вытягивание, выполнять проверки кода и объединять изменения в ветви совместной работы. Вы можете публиковать только службу Synapse из ветви совместной работы.

Create a new pull request

Настройка параметров публикации

По умолчанию Synapse Studio создает шаблоны рабочих областей и сохраняет их в ветви с именем workspace_publish. Чтобы настроить пользовательскую ветвь публикации, добавьте файл publish_config.json в корневую папку в ветви совместной работы. При публикации Synapse Studio считывает этот файл, ищет поле publishBranchи сохраняет файлы шаблонов рабочей области в указанном расположении. Если ветвь не существует, Synapse Studio автоматически создаст ее. Ниже приведен пример того, как выглядит этот файл:

{
    "publishBranch": "workspace_publish"
}

У Synapse Studio может одновременно быть только одна ветвь публикации за раз. При указании новой ветви публикации исходная ветвь публикации не будет удалена. Если вы хотите удалить предыдущую ветвь публикации, сделайте это вручную.

Публикация изменений кода

После объединения изменений в ветвь совместной работы нажмите кнопку "Опубликовать ", чтобы вручную опубликовать изменения кода в ветви совместной работы в службе Synapse.

Publish changes

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

Confirm the correct publish branch

Важно!

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

Переключение на другой репозиторий Git

Чтобы переключиться на другой репозиторий Git, перейдите на страницу конфигурации Git в центре управления в разделе Система управления версиями. Щелкните Отключить.

Git icon

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

После удаления связи с текущим репозиторием можно настроить параметры Git для использования другого репозитория, а затем импортировать существующие ресурсы в новый репозиторий.

Важно!

Удаление конфигурации Git из рабочей области не приводит к удалению каких-либо данных из репозитория. Рабочая область Synapse содержит все опубликованные ресурсы. Вы можете продолжить редактирование рабочей области непосредственно в службе.

Рекомендации по интеграции с Git

  • Разрешения. После подключения репозитория Git к рабочей области любой пользователь, который может получить доступ к репозиторию Git с любой ролью в рабочей области, может обновлять артефакты, такие как скрипт SQL, записная книжка, определение задания Spark, набор данных, поток данных и конвейер в режиме git. Обычно не требуется наличия у каждого участника группы разрешения на обновление рабочей области. Предоставляйте доступ к репозиторию Git только для авторов артефактов рабочей области Synapse.
  • Совместная работа. Рекомендуется не разрешать прямые возвраты в ветвь совместной работы. Это ограничение может помочь предотвратить ошибки, так как каждый проверка проходит проверка запроса на вытягивание процесс, описанный в разделе "Создание ветвь компонента".
  • Режим реального времени Synapse. После публикации в режиме git все изменения отражаются в динамическом режиме Synapse. В режиме реального времени Synapse публикация отключена. Кроме того, вы можете просматривать и запускать артефакты в режиме реального времени, если предоставлено правильное разрешение.
  • Редактирование артефактов в Studio. Synapse Studio является единственным местом, в котором можно включить управление исходным кодом в рабочей области и автоматически синхронизировать изменения в Git. Любые изменения с помощью пакета SDK, PowerShell, не синхронизируются с git. При включении Git рекомендуется всегда изменять артефакт в Studio.

Устранение неполадок интеграции Git

Доступ к режиму Git

Если вы получили разрешение на репозиторий GitHub Git, связанный с рабочей областью, но вы не можете получить доступ к режиму Git:

  1. Очистите файлы cookie и кэш браузера, а затем обновите страницу.

  2. Войдите в свою учетную запись GitHub.

Устаревшая ветвь публикации

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

  1. Удалите текущий репозиторий Git.

  2. Повторно сконфигурируйте Git повторно с теми же параметрами, но убедитесь, что выбрано поле Импорт существующих ресурсов в репозиторий и выбрана та же ветвь.

  3. Создайте запрос на вытягивание, чтобы выполнить слияние с ветвью совместной работы и применить в ней изменения.

Неподдерживаемые функции

  • Synapse Studio не допускает выборочного отбора фиксаций или публикации ресурсов.
  • Synapse Studio не поддерживает самостоятельно настроенное сообщение о фиксации.
  • По проектированию действие удаления в Студии фиксируется непосредственно в Git

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