为什么Jinja2 Set语句在Airflow中不起作用?

时间:2019-03-08 11:10:09

标签: python jinja2 airflow

假设我有一个具有可模板化字段的虚拟运算符。 这是模板

{% set my_variable = 1 %}
{% if my_variable > 0 %}
foo
{% else %}
bar
{% endif %}

如果我尝试执行此任务

airflow render my_dag my_dummy_task 2019

我有一个错误,说未定义my_variable。 一种解决方案是将my_variable添加到DAG的params参数中 并在模板中将其引用为params.my_variable而不是my_variable

DAG(dag_id='my_dag',
    ...
    params={
            'my_variable': 1
           },
    ...)

我可以这样做,但是我希望使用jinja2 set语句将变量定义包含在模板中。有什么办法吗?

0 个答案:

没有答案