Шаблон потока воздуха Jinja - PullRequest
0 голосов
/ 05 мая 2018

Мне удалось успешно визуализировать шаблоны Jinja, используя функцию в BaseOperator, render_template.

Мой вопрос: знает ли кто-нибудь требования для вставки отрисованных строк в пользовательский интерфейс на вкладке Rendered или Rendered Template?

Ссылаясь на эту вкладку в пользовательском интерфейсе: Referring to this tab in the UI

Буду признателен за любую помощь или руководство.

1 Ответ

0 голосов
/ 05 мая 2018

Если вы используете шаблонные поля в Операторе, созданные строки из шаблонных полей будут показаны там. Например. с BashOperator:

example_task = BashOperator(
    task_id='task_example_task',
    bash_command='mycommand --date {{ task_instance.execution_date }}',
    dag=dag,
)

тогда команда bash будет проанализирована через механизм шаблонов (поскольку поле Jinja включено), и позже вы сможете увидеть результат этого анализа в веб-интерфейсе, как вы упомянули.

Хотя поля должны быть шаблонными. Это можно увидеть в коде в поле templated_fields. Для BashOperator (см. Код здесь https://github.com/apache/incubator-airflow/blob/master/airflow/operators/bash_operator.py) это:

template_fields = ('bash_command', 'env')

Другие поля в BashOperator не будут анализироваться.

Вы можете использовать макрокоманды (см. Здесь https://airflow.apache.org/code.html#macros) или информацию от xcom (см. Здесь https://airflow.apache.org/concepts.html?highlight=xcom#xcoms) в шаблонных полях.

...