Я хочу, чтобы мой dag мог запускаться как с обязательным, так и с необязательным параметром
def func(ds, **kwargs):
print("Required value of {} for key=required".
format(kwargs['dag_run'].conf['required']))
value="default_value"
# logic to check kwargs['dag_run'].conf['optional'] exist and replace value
if optional value exist.
some_func(kwargs['dag_run'].conf[required], value)
Мой код PythonOperator будет выглядеть следующим образом
PythonOperator(
task_id="test_optional_input",
provide_context = True,
python_callable = func,
dag=dag
)
Так что, когда я запускаю свой dagтолько с:
airflow trigger_dag test_optional --conf '{"required":"required_arg"}'
Airflow будет использовать default_value вместо того, чтобы ожидать, что оно будет передано из cli.
Кто-нибудь знает, как мне этого добиться?