Как установить конфигурацию триггера dag по умолчанию в формате json

#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

Также, похоже, планируется улучшение этой функции. См.:

https://github.com/apache/airflow/issues/11054

Комментарии:

1. удалось ли вам создать dag, который использует эту функцию? Если я правильно понимаю, это должно просто работать, добавив словарь параметров, но я не могу заставить его работать

2. @jmriego в Airflow 2.1.0 работает как шарм. Гандер, большое спасибо!

Ответ №3:

Нет, в настоящее время он не поддерживается — по крайней мере, для Airflow 2.0.0

Комментарии:

1. знаете ли вы, есть ли какие-либо планы по внедрению этой функции?

2. Пока никаких планов нет