Шаблоны Airflow Jinja

#python #jinja2 #airflow

#python #jinja2 #воздушный поток

Вопрос:

Попытка сослаться на переменную в Python с использованием шаблонов Jinja в Airflow для печати значения переменной

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

Тем не менее, он печатает:

{{ params.job_id }}

Как я должен инициировать правильный рендеринг?

Комментарии:

1. Пожалуйста, поделитесь своим кодом DAG

Ответ №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}}))
  

Вы можете узнать больше о шаблонах Jinja в документации (текущая версия 2.11.x)