Настроить Variables в Apache Airflow™
Variables хранят общие значения для DAG в формате ключ-значение. Инструкция описывает веб-интерфейс Apache Airflow™ 3.1.8. Для значения, которое должно отличаться только в одном запуске, используйте параметры запуска.
Создать переменную
-
Откройте веб-интерфейс с учетной записью администратора Apache Airflow™ или пользователя с правами на Variables.
-
Выберите Admin → Variables и нажмите Add Variable.
-
Заполните:
- Key — уникальное имя, например
example_message. - Value — значение, например
Hello from Variable!. - Description — назначение переменной, если требуется.
- Key — уникальное имя, например
-
Нажмите Save и найдите переменную по ключу.
Чтобы прочитать ее при выполнении задачи, добавьте в функцию с декоратором @task:
from airflow.sdk import Variable
message = Variable.get("example_message")
Для проверки замените получение message в задаче greet из примера DAG этими строками с соответствующим отступом, затем обновите DAG. После запуска в логе и XCom задачи должно появиться Hello from Variable!. Не выводите в логи значения переменных, содержащих секреты.
Подробнее о чтении Variables — в документации Apache Airflow™
Изменить или удалить переменную
- В Admin → Variables найдите нужный ключ.
- Для изменения нажмите кнопку с карандашом Edit Variable, задайте новое значение или описание и нажмите Save.
- Чтобы удалить переменную, нажмите кнопку удаления в ее строке, проверьте ключ и подтвердите удаление кнопкой Delete.
Изменение не запускает DAG автоматически. Проверьте значение в новом запуске задачи, которая читает переменную. Если удалить используемую переменную, чтение без значения по умолчанию завершится ошибкой.
Экспортировать выбранные значения через UI
- В Admin → Variables отметьте нужные строки. Если список занимает несколько страниц, проверьте, что выбраны все нужные ключи.
- На панели действий нажмите Export и сохраните JSON-файл.
Экспорт из UI содержит выбранные ключи и значения без описаний. Если значение или поле JSON скрыто маской ***, в файл может попасть маска. Для переноса секретных значений и сохранения описаний используйте экспорт через CLI. Храните файлы с настройками в защищенном месте.
Импортировать значения через UI
-
Подготовьте JSON-файл с ключами и значениями, например:
{ "example_message": "Hello from Variable!", "environment": "test" } -
В Admin → Variables снимите выделение строк, если оно есть, и нажмите Import Variables.
-
В Upload a JSON File выберите файл.
-
В Select Variable Conflict Resolution выберите поведение при совпадении ключей:
- Fail — остановить импорт, если такой ключ уже существует;
- Skip — сохранить существующее значение и пропустить этот ключ;
- Overwrite — заменить существующее значение импортированным.
-
Нажмите Import, дождитесь результата и найдите импортированные ключи в списке. Проверьте значения с помощью задачи, которая их использует.
Перед Overwrite сохраните прежние настройки. Файл с масками *** не восстанавливает исходные секретные значения. Для восстановления полной копии из CLI используйте отдельную процедуру.
Переменные, заданные через окружение или внешнее хранилище секретов, не входят в эту процедуру. Подробнее — в описании хранения Variables