我已经能够使用BaseOperator中的函数成功渲染Jinja模板render_template。
我的问题是,有人知道在Rendered或Rendered Template选项卡下将呈现的字符串放入UI的要求吗?
在用户界面中引用此标签:

任何帮助或指导在这里将不胜感激。
如果在运算符中使用模板化字段,则将在模板中显示模板化字段中创建的字符串。例如,使用BashOperator:
example_task = BashOperator(
task_id='task_example_task',
bash_command='mycommand --date {{ task_instance.execution_date }}',
dag=dag,
)
Run Code Online (Sandbox Code Playgroud)
那么bash命令将通过模板引擎进行解析(因为其中包括Jinja字段),稍后您可以在Web UI中看到所提到的解析结果。
但是,必须对字段进行模板化。可以在该字段的代码中看到templated_fields。对于BashOperator(请参见此处的代码https://github.com/apache/incubator-airflow/blob/master/airflow/operators/bash_operator.py),这是:
template_fields = ('bash_command', 'env')
Run Code Online (Sandbox Code Playgroud)
BashOperator中的其他字段将不会被解析。
您可以使用宏命令(请参见https://airflow.apache.org/code.html#macros)或来自xcom的信息(请参见https://airflow.apache.org/concepts.html?highlight=xcom#xcoms)中的模板字段。
| 归档时间: |
|
| 查看次数: |
6217 次 |
| 最近记录: |