У меня есть группа доступности базы данных, которая запускается извне с некоторыми дополнительными параметрами, скажем, «имя».
Пример кода:
with airflow.DAG(
'my_dag_name',
default_args=default_args,
# Not scheduled, trigger only
schedule_interval=None) as dag:
start = bash_operator.BashOperator(
task_id='start',
bash_command='echo Hello.')
some_operation = MyOperator(
task_id='my_task',
name='{{ dag_run.conf["name"] }}')
goodbye = bash_operator.BashOperator(
task_id='end',
bash_command='echo Goodbye.')
start >> some_operation >> goodbye
Теперь, если я использую {{ dag_run.conf["name"] }}
напрямую с эхом для БашОператор, это работает. Другой способ прочитать параметр - это использовать PythonOperator
, где я могу прочитать conf по kwargs['dag_run'].conf['name']
.
Однако, что я действительно хочу, это заранее иметь name
, чтобы я мог передать его, пока конструкция MyOperator.