气流Jinja模板

时间:2020-10-06 16:13:26

标签: python jinja2 airflow

尝试使用Airflow中的Jinja模板在Python中引用变量以打印变量值

job_id = 15
print("{{ params.job_id }}")

但是,它正在打印:

{{ params.job_id }}

我应该如何触发适当的渲染?

1 个答案:

答案 0 :(得分:1)

我认为您根本没有在使用Jinja。这是一个如何使用它的示例:

from jinja2 import Tempate

job_id = 15
template = Template("{{ params.job_id }}")

# Method 1: pass values as a dict
params = {'job_id': job_id}
print(template.render({'params': params}))

# Method 2: pass values as keyword arguments
print(template.render(params={'job_id': job_id},))

# Method 3: one line
print(Template("{{ params.job_id }}").render({'params': {'job_id': job_id}}))

您可以在docs(当前版本为2.11.x)中了解有关Jinja模板的更多信息。