气流参数传递给Shell脚本

时间:2018-11-28 14:48:47

标签: airflow airflow-scheduler

我试图在气流DAG中调用shell脚本,并按如下所述传递一些参数,

def load_data_parameters():
   today_date = '{{ ds }}'
   environment = config.get('common', 'env') 
   return today_date,environment

today_date,environment = load_data_parameters()

EdgeToRaw_Command ="./scripts/test.sh"

Test = BashOperator(
        task_id= 'Test-Task',
        bash_command=EdgeToRaw_Command,
        params = {'env': environment},
        dag=dag)

在shell脚本中尝试打印的方式,

envi=$1
echo $envi

有人可以帮助解决这个问题吗,或者告诉我如何将参数传递给BashOperator,该BashOperator可以通过调用脚本来执行某些任务。

1 个答案:

答案 0 :(得分:1)

在您的shell脚本中,您需要具备以下条件

envi={{params.env}}
echo $envi

基本上,params都需要调用BashOperator中传递给{{params.PARAMETER_NAME}}参数的任何内容