我想使用气流运行一些现有的bash脚本,而不修改脚本本身中的代码。是否可以在任务中不提及脚本中的shell命令?
不确定是否理解了您的问题,但可以将Shell命令加载到通过管理>>变量菜单将变量作为json文件。然后在您的dag中读取变量并将其作为参数传递给BashOperator。
更详细的气流变量:https://www.applydatascience.com/airflow/airflow-variables/
希望这篇文章对您有所帮助。
只要外壳程序脚本与Airflow Worker在同一台计算机上运行,您就可以使用Bash Operator调用外壳程序脚本,如下所示:
t2 = BashOperator(
task_id='bash_example',
# Just call the script
bash_command="/home/batcher/test.sh ",
dag=dag)