Как изменить параметр DAG, который имеет значение по умолчанию при запуске DAG вручную

#airflow

#воздушный поток

Вопрос:

Я заинтересован в использовании параметра при запуске dag вручную с помощью https://airflow.apache.org/docs/apache-airflow/stable/dag-run.html#passing-parameters-when-triggering-dags.

В моем случае аргументом будет days_of_data, и он должен быть 7, если мы не передадим аргумент как JSON при ручном запуске. Итак, мы могли бы вручную запустить dag, и если параметр не передан, его значение в любом случае будет равно 7.

Ответ №1:

Во-первых, убедитесь, что аргумент days_of_data является шаблонным полем в вызываемом операторе. После этого вам просто нужно установить значение по умолчанию в операторе следующим образом:

 "{{ dag_run.conf['days_of_data'] or 7 }}"
 

Это значение days_of_data будет равно 7, если вы не передадите следующий JSON при выполнении DAG вручную (либо из CLI, либо из пользовательского интерфейса):

 {"days_of_data": days}
 

Где x может быть любым значением. Пожалуйста, обратите внимание, что этот параметр будет строкой, поэтому вам может потребоваться преобразовать его в int или другой тип перед его использованием.