jinja2.exceptions.TemplateNotFound 错误与气流 bash 操作员

Siv*_*apu 2 python jinja2 airflow

运行以下 DAG 任务。

dag = DAG(
    'TEST',
    default_args=default_args,
    schedule_interval=None,
    max_active_runs=1)

create_command0 = "./auto_script/jobs/start_mail.sh"
t0 = BashOperator(
    task_id='start_mail',
    bash_command=create_command0,
    dag=dag,
    env={
        'subject_area': feed_name,
        'customer_name': customer,
        'job_home': home,
        'job_start_time': start_time})
Run Code Online (Sandbox Code Playgroud)

DAG 继续失败并出现错误“ jinja2.exceptions.TemplateNotFound: ./auto_script/jobs/start_mail.sh”

bam*_*dan 6

这是气流的常见错误。请尝试以下操作。这应该在一般情况下完成,因此希望对您的具体问题有所帮助。

  • 您需要像这样在命令末尾添加一个空格。(注意字符串末尾的空格
  • 如果可能,您还应该使用完整路径,而不是使用“/home/user/bob/airflow/”作为位置的相对路径。
create_command0 = "/home/user/bob/airflow/auto_script/jobs/start_mail.sh "
Run Code Online (Sandbox Code Playgroud)

代替

create_command0 = "/home/user/bob/airflow/auto_script/jobs/start_mail.sh"
Run Code Online (Sandbox Code Playgroud)

希望有帮助。有关确切原因的更多信息可以在下面的链接中找到。 https://cwiki.apache.org/confluence/display/AIRFLOW/Common+Pitfalls