5
エアフローで実行したいファイルが(存在しない場合)作成するbashスクリプトがありますが、試してみると失敗します。これはどうすればいいですか?エアフローでbashスクリプトファイルを実行する方法
#!/bin/bash
#create_file.sh
file=filename.txt
if [ ! -e "$file" ] ; then
touch "$file"
fi
if [ ! -w "$file" ] ; then
echo cannot write to $file
exit 1
fi
と、ここで私は空気の流れでそれを呼んでいる方法は次のとおりです。
create_command = """
./scripts/create_file.sh
"""
t1 = BashOperator(
task_id= 'create_file',
bash_command=create_command,
dag=dag
)
lib/python2.7/site-packages/airflow/operators/bash_operator.py", line 83, in execute
raise AirflowException("Bash command failed")
airflow.exceptions.AirflowException: Bash command failed
は.SHの後にスペースを追加します。「./scripts/create_file.sh」 –
@KarolSudolあなたは手の込んだことができますか? –
スクリプトの最後に「スペース」を追加するために、「Jinjaテンプレートが見つかりませんでした」というエラーが表示されることがあります。この動作を引き起こすものは不明です。ref:https://cwiki.apache.org/confluence/display/AIRFLOW/Common + Pitfalls –