我有这个代码用于airflow在docker中执行python脚本:
a02_retrieve_2 = SSHExecuteOperator(
task_id='a02_retrieve_2',
ssh_hook=sshHook,
dag=dag,
bash_command= 'docker exec myDocker -i bash -c " /opt/conda/bin/python aretrieve_2.py --myarg 45 --myarg 35 " '
)
不幸的是,它不起作用。
但是,没有参数的版本可以工作。
a02_retrieve_2 = SSHExecuteOperator(
task_id='a02_retrieve_2',
ssh_hook=sshHook,
dag=dag,
bash_command= 'docker exec myDocker -i bash -c " /opt/conda/bin/python aretrieve_2.py " '
)
错误是:
Python script starts to run but Airflow is unable to catch up the python script parameters...
如何使用python脚本参数制作版本?
这与jinja模板有关吗? BashOperator doen't run bash file apache airflow
答案 0 :(得分:0)
我通过查看bashoperator的源代码找到了答案: 这使用了popen
public
https://airflow.incubator.apache.org/_modules/bash_operator.html