首页 > 解决方案 > 气流 Jinja 模板

问题描述

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

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

但是,它正在打印:

{{ params.job_id }}

我应该如何触发正确的渲染?

标签: pythonjinja2airflow

解决方案


我认为你根本没有使用 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}}))

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


推荐阅读