Источники DAG-файлов
Кластер Managed Service for Apache Airflow™ автоматически загружает DAG-файлы из внешнего источника: бакета Yandex Object Storage или Git-репозитория. Для кластера выбирается один источник. Его тип и параметры подключения задаются при создании или изменении кластера.
Бакет Object Storage
В бакете хранятся DAG-файлы, а также дополнительные скрипты и модули, которые используются в DAG. Файлы могут находиться в корне бакета или в папке. Кластер автоматически загружает их из выбранного бакета.
Git-репозиторий
Для подключения к Git-репозиторию задаются его адрес, имя ветки и путь к каталогу с DAG-файлами. Кластер загружает файлы из указанного каталога выбранной ветки.
Важно
Для использования Git-репозитория настройте доступ в интернет через NAT-шлюз из сети кластера Managed Service for Apache Airflow™. Во время настройки привяжите таблицу маршрутизации с NAT-шлюзом ко всем подсетям кластера.
Способы аутентификации
Способ аутентификации определяет формат адреса репозитория и необходимые учетные данные:
Для подключения по SSH используется адрес в формате git@<хост>:<путь_к_репозиторию>.git, например git@github.com:<имя_пользователя>/<имя_репозитория>.git, и закрытый SSH-ключ доступа к репозиторию.
При подключении по SSH поддерживаются закрытые ключи RSA, DSA, ECDSA, Ed25519 в форматах PKCS#1, PKCS#8, OpenSSL и OpenSSH. Закрытый ключ не должен быть защищен паролем.
Для подключения по HTTP(S) используется адрес в формате https://<хост>/<путь_к_репозиторию>.git или http://<хост>/<путь_к_репозиторию>.git, например https://github.com/<имя_пользователя>/<имя_репозитория>.git, а также имя пользователя и пароль.
Вместо пароля можно передать токен доступа, если его поддерживает сервис, в котором размещен репозиторий. Имя пользователя и пароль или токен должны быть непустыми. Учетные данные задаются в отдельных параметрах подключения, а не в адресе репозитория.
Аутентификация с помощью токена
Токен доступа передается в параметре пароля при подключении по HTTPS. Токен создается в сервисе, в котором размещен репозиторий, и должен предоставлять права на чтение репозитория с DAG-файлами. Токен позволяет ограничить права доступа по сравнению с паролем учетной записи.
Имя пользователя зависит от сервиса и типа токена. Ниже приведены примеры и ссылки на документацию сервисов:
|
Сервис |
Тип токена |
Имя пользователя |
|
GitHub |
Логин пользователя GitHub. Имя должно быть непустым, хотя для аутентификации используется сам токен. |
|
|
GitLab |
Любая непустая строка, например логин пользователя GitLab или |
|
|
GitLab |
Имя, заданное при создании токена. По умолчанию имеет вид |
|
|
GitLab |
|
|
|
Bitbucket Cloud |
Логин пользователя Bitbucket с учетом регистра или |
|
|
Bitbucket Cloud |
Access token репозитория |
|
|
Azure DevOps |
Любая непустая строка, например |
Если токен истек или был отозван, создайте новый и обновите параметры подключения в настройках кластера.
Примеры использования
- Автоматизация работы с Yandex Data Processing
- Автоматизация задач Yandex Query с помощью Yandex Managed Service for Apache Airflow™