【问题标题】:Parametric access to DBT nested variables in dbt_project.yml对 dbt_project.yml 中的 DBT 嵌套变量的参数访问
【发布时间】:2023-02-17 23:17:03
【问题描述】:

基于Nested variables in dbt_project.yml file of dbt

vars:
    env: env_var('DBT_ENVIRONMENT')
    bucket:
        dev: "dev-bucket"
        uat: "uat-bucket"
        ppd: "ppd-bucket"
        prd: "prd-bucket"

我想根据环境变量 env 的值访问存储桶名称。

例如,我会像这样引用 dev 存储桶:

{{ var('bucket')['dev'] }}

但我想根据 var env 将其称为参数化的,并使用类似的东西:

{{ var('bucket')[ {{ var('env') }} ] }}

只是这样我收到以下错误消息:

Compilation Error Could not render {{ var('bucket')[ {{ var('env') }} ] }}

而且我不知道这是否可以用 DBT 语法来引用。

关于如何实现这一目标的任何建议?

【问题讨论】:

    标签: variables yaml dbt


    【解决方案1】:

    一个可能的解决方案是

    {{ var('bucket')[ env_var('DBT_ENVIRONMENT') ] }}
    

    但我仍然更愿意直接从 dbt_project.yml 中引用var('env'),所以对更好的解决方案持开放态度。

    【讨论】:

      猜你喜欢
      • 2018-07-16
      • 2015-04-17
      • 2013-10-17
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2015-08-10
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多