首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >Apache气流:在jinja中传递变量包括

Apache气流:在jinja中传递变量包括
EN

Stack Overflow用户
提问于 2021-12-12 15:20:16
回答 1查看 1.2K关注 0票数 1

我目前在Apache气流中使用以下语句

代码语言:javascript
复制
s10_test_load = bigquery.BigQueryInsertJobOperator(
    task_id="10_test_load",
    configuration={
            "query": {
                        "query": "{% include './scripts/10_test_load.sql' %}",                           
                        "useLegacySql": False,
            },                  
    },
)   

该语句工作正常,并从脚本文件执行sql。

我希望动态地使用变量中的文件名,如下所示

代码语言:javascript
复制
file_name='./scripts/10_test_load.sql'

s10_test_load = bigquery.BigQueryInsertJobOperator(
    task_id="10_test_load",
    configuration={
            "query": {
                        "query": "{% include file_name %}",                          
                        "useLegacySql": False,
            },                  
    },
)       

如何在jinja包含中传递python变量?

EN

回答 1

Stack Overflow用户

发布于 2021-12-13 00:23:34

您可以使用f-string格式,并添加另一对花括号,如下所示:

代码语言:javascript
复制
file_name='bq/queries/10_test_load.sql'

t2 = BigQueryInsertJobOperator(
   task_id="10_test_load",
    configuration={
        "query": {
            "query": f"{{% include '{file_name}' %}}",                          
            "useLegacySql": False,
        },                  
    },             
)

这将按照所需的方式呈现:

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/70324891

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档