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


Синхронизация кода из существующего репозитория GitHub

Примечание.

Задание Apache Airflow работает под управлением Apache Airflow.

Рабочие процессы данных, будучи новаторской функцией в Microsoft Fabric, переопределяют подход к созданию и управлению конвейерами данных. На базе среды выполнения Apache Airflow, Data Workflows предоставляет интегрированную облачную платформу для разработки, планирования и мониторинга рабочих процессов данных на основе Python, представленных в виде ориентированных ациклических графов (DAG). Он предоставляет интерфейс Software-as-Service (SaaS) для разработки и управления конвейерами данных с помощью Apache Airflow, что упрощает работу среды выполнения и позволяет создавать и работать с рабочими процессами данных.
Доступны два варианта хранения файлов для рабочих процессов с данными: управляемое Fabric хранилище и управляемое GitHub хранилище. В этой статье вы узнаете, как синхронизировать код из существующего репозитория GitHub.

Создание задания Apache Airflow

  1. Можно использовать существующую рабочую область или создать новую рабочую область.

  2. Разверните + New раскрывающийся список. > Щелкните "Дополнительные параметры" — > в разделе Data Factory — выберите "Задание Apache Airflow" (предварительная версия)

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

    Снимок экрана: выбор задания Apache Airflow.

  3. Присвойте проекту подходящее имя и нажмите кнопку "Создать".

Синхронизация репозитория GitHub

Укажите репозиторий Git, с которым нужно синхронизировать задание Apache Airflow.

  1. Перейдите на вкладку "Параметры" и щелкните вкладку "Хранилище файлов". Выберите "Git-sync" в качестве типа хранилища. Снимок экрана: синхронизация репозитория GitHub.

  2. Заполните приведенные ниже поля.

    • Тип службы Git: поддерживаемые типы служб:

      • GitHub
      • ADO: Azure DevOps
      • GitLab
      • BitBucket
    • Тип учетных данных Git: поддерживаемые типы учетных данных:

      • Нет. Выберите этот тип учетных данных, если репозиторий является общедоступным.
      • Личный маркер доступа: личный маркер доступа из службы Git, используемый для проверки подлинности с помощью репозитория.
        • Заполните поля:
          • Имя пользователя: имя пользователя GitHub.
          • Личный маркер доступа
      • Уполномоченный службой: Выберите эти учетные данные при выборе службы Git для Azure DevOps.
        • Заполните поля:
          • Идентификатор приложения субъекта-службы: идентификатор клиента субъекта-службы, имеющий доступ к репозиторию Azure Devops.
          • Секрет главного объекта службы: клиентский секрет с доступом к репозиторию Azure DevOps.
          • Идентификатор арендатора основного сервиса: идентификатор арендатора вашего основного сервиса.
      • Репозиторий: клонированный URL-адрес репозитория, который требуется синхронизировать.
      • Ветвь: имя ветви репозитория, которую вы хотите синхронизировать.
  3. Нажмите кнопку "Применить".

Мониторинг ваших DAGs

  • Чтобы убедиться, что репозиторий синхронизирован, перейдите к пользовательскому интерфейсу Apache Airflow, щелкнув "Монитор в Apache Airflow". В пользовательском интерфейсе вы увидите все DAG из вашего репозитория, загруженные напрямую. Снимок экрана для мониторинга DAG в Apache Airflow.

  • Редактор кода не поддерживается при использовании хранилища git-sync. Вам необходимо локально изменить код и отправить изменения в удаленный репозиторий Git. Последняя фиксация будет автоматически синхронизирована с рабочими процессами данных, и вы можете просмотреть обновленный код в пользовательском интерфейсе Apache Airflow.

Поддерживаемая структура репозитория Git

|── dags/
|   |-- *.py
|-- plugins
|    |-- executors/
|    |   ├-- __init__.py
|    |   └-- *.py
|    |-- hooks/
|    |   ├-- __init__.py
|    |   └-- *.py
|    |-- operators/
|    |   ├-- __init__.py
|    |   └-- *.py
|    |-- transfers/
|    |   ├-- __init__.py
|    |   └-- *.py
|    |-- triggers/
|    |    ├-- __init__.py
|    |    └-- *.py

Примечание.

Мы синхронизируем только папки dags и plugins из репозитория. Убедитесь, что все файлы или вложенные папки находятся в одной из этих папок.