【发布时间】:2020-10-06 16:13:26
【问题描述】:
尝试使用 Airflow 中的 Jinja 模板在 Python 中引用变量以打印变量值
job_id = 15
print("{{ params.job_id }}")
但是,它正在打印:
{{ params.job_id }}
我应该如何触发正确的渲染?
【问题讨论】:
-
请分享你的 DAG 代码
尝试使用 Airflow 中的 Jinja 模板在 Python 中引用变量以打印变量值
job_id = 15
print("{{ params.job_id }}")
但是,它正在打印:
{{ params.job_id }}
我应该如何触发正确的渲染?
【问题讨论】:
我认为你根本没有使用 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 模板的更多信息
【讨论】: