#airflow
#воздушный поток
Вопрос:
При запуске dag в airflow появляется окно, с помощью которого я могу передавать параметры в dag в формате json. Это выглядит следующим образом:
Этот json всегда пуст, и мне нужно знать, какие параметры я могу передать в dag. Вместо этого я хотел бы иметь возможность предварительно заполнить этот json, чтобы, когда другой пользователь пытается запустить dag, он мог просто изменить значения json, вместо того, чтобы сначала просматривать код dag.
Есть ли какой-либо способ сделать это в текущей версии (2.0.0) airflow?
Ответ №1:
В Airflow 2.1.0 можно установить аргументы по умолчанию следующим образом:
dag = DAG(dag_id="my_dag",
schedule_interval=None,
default_args={'retries': 3, 'retry_delay': timedelta(seconds=20)},
catchup=False,
tags=['maintenance'],
params={"description": ""} #Set parameters as a dictionary
)
В пользовательском интерфейсе thrigger это выглядит так:
Комментарии:
1. Это документ руководства: airflow.apache.org/docs/apache-airflow/stable/concepts /…
Ответ №2:
При написании моего запроса функции я фактически нашел запрос на извлечение, который уже объединен и, похоже, точно соответствует описанию:
https://github.com/apache/airflow/pull/10839
Также, похоже, планируется улучшение этой функции. См.:
Комментарии:
1. удалось ли вам создать dag, который использует эту функцию? Если я правильно понимаю, это должно просто работать, добавив словарь параметров, но я не могу заставить его работать
2. @jmriego в Airflow 2.1.0 работает как шарм. Гандер, большое спасибо!
Ответ №3:
Нет, в настоящее время он не поддерживается — по крайней мере, для Airflow 2.0.0
Комментарии:
1. знаете ли вы, есть ли какие-либо планы по внедрению этой функции?
2. Пока никаких планов нет