【问题标题】:How to create Airflow variables from environment variables如何从环境变量创建气流变量
【发布时间】:2019-12-03 06:26:47
【问题描述】:

https://airflow.apache.org/docs/stable/howto/connection/index.html#creating-a-connection-with-environment-variables

这个页面说我们可以从环境变量创建 Airflow 连接。 例如

AIRFLOW_CONN_POSTGRES_MASTER=postgres://user:password@localhost:5432/master

如果是这样,我们如何创建 Airflow 变量,可以在 UI 上创建 Admin -> 变量?

【问题讨论】:

    标签: airflow


    【解决方案1】:

    环境变量需要有一个 Airflow 前缀 AIRFLOW_CONN_ 和 URI 格式的值才能正确使用连接。

    在 Airflow 管道中引用连接时,conn_id 应该是不带前缀的变量名称。

    例如,如果 conn_id 命名为 postgres_master,则环境变量应命名为 AIRFLOW_CONN_POSTGRES_MASTER(注意环境变量必须全部大写)。

    Airflow 假定从环境变量返回的值是 URI 格式 (例如postgres://user:password@localhost:5432/master 或 s3://accesskey:secretkey@S3)。

    URI 的方案部分不允许使用下划线字符,因此必须将其更改为连字符(例如,如果 conn_type 为 google_compute_platform 则为 google-compute-platform)。查询参数被解析为一维dict,然后用于填充额外的。 连接类型

    https://airflow.apache.org/docs/stable/howto/connection/index.html

    【讨论】:

    • 谢谢,但是使用环境变量会更好,因为它可以很容易地在 Docker 环境中创建。
    【解决方案2】:

    自气流 1.10.10 以来,变量可以使用此约定存储为环境变量:

    AIRFLOW_VAR_

    您可以在 DAG 中使用变量,但它们在 UI 中不可见。

    来源:https://airflow.apache.org/docs/stable/concepts.html#storing-variables-in-environment-variables

    【讨论】:

      猜你喜欢
      • 2020-04-27
      • 2021-11-09
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2018-08-29
      • 1970-01-01
      • 1970-01-01
      • 2014-12-17
      相关资源
      最近更新 更多