【发布时间】:2019-12-03 06:26:47
【问题描述】:
这个页面说我们可以从环境变量创建 Airflow 连接。 例如
AIRFLOW_CONN_POSTGRES_MASTER=postgres://user:password@localhost:5432/master
如果是这样,我们如何创建 Airflow 变量,可以在 UI 上创建 Admin -> 变量?
【问题讨论】:
标签: airflow
这个页面说我们可以从环境变量创建 Airflow 连接。 例如
AIRFLOW_CONN_POSTGRES_MASTER=postgres://user:password@localhost:5432/master
如果是这样,我们如何创建 Airflow 变量,可以在 UI 上创建 Admin -> 变量?
【问题讨论】:
标签: airflow
环境变量需要有一个 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
【讨论】:
自气流 1.10.10 以来,变量可以使用此约定存储为环境变量:
AIRFLOW_VAR_
您可以在 DAG 中使用变量,但它们在 UI 中不可见。
来源:https://airflow.apache.org/docs/stable/concepts.html#storing-variables-in-environment-variables
【讨论】: