气流-SSHOperator无法在远程服务器上发送命令参数

时间:2020-09-10 16:37:15

标签: python ssh airflow airflow-operator

气流1.10

我的SSHOperator

run_spark_operator = SSHOperator (
    task_id='run_spark_job',
    trigger_rule='all_success',
    ssh_conn_id='ssh_spark_jobs',
    timeout=10800,
    command="sh /home/spark/rmsp_csv_temp/test_spark.sh {{task_instance.xcom_pull(task_ids='get_nifi_download_message', key='message')[0][\"flowStatus\"][\"sourceDataset\"]}}",
    dag=dag
)

任务运行没有错误。 xcom中存在变量。 .sh脚本:

sleep 1m
echo $1 > /home/spark/rmsp_csv_temp/resultSSH.txt

但是在结果中,SSH.txt仅使行无效。如何通过SSHOperator将参数发送到sh脚本?

UPD:在“渲染模板”命令中

sh /home/spark/rmsp_csv_temp/test_spark.sh 

它与另一个变量一起工作

sh /home/saddam/test_spark.sh {{ ds }}
sh /home/saddam/test_spark.sh 2020-09-10

0 个答案:

没有答案