Airflow的docker-compose.yml中配置连接不生效该如何处理?
问题原因
Airflow通过环境变量定义的连接属于隐式连接,默认不会被airflow connections list命令扫描展示,也不会出现在Web UI的连接列表中,不代表配置未生效。
排查及验证步骤
第一步先确认环境变量是否成功加载到容器内
在airflow-worker容器中执行命令:echo $AIRFLOW_CONN_MY_PROD_DB
能输出你配置的连接串就说明环境变量配置生效,否则需要检查:- 你添加的环境变量是否位于
&airflow-common-env锚点下,且所有airflow相关服务(worker、scheduler、webserver等)都继承了该环境变量锚点 - 修改docker-compose配置后是否完全重启了容器,建议执行
docker-compose down后再重新docker-compose up加载新配置
- 你添加的环境变量是否位于
第二步验证连接可用性
你配置的连接对应ID为my_prod_db,可以直接在DAG代码中调用该连接ID使用,无需额外配置。
如果你使用的是Airflow 2.3及以上版本,可以执行带参数的命令查看包含环境变量的全量连接列表:airflow connections list --include-env
你当前使用的2.2.0版本没有该参数,无需纠结列表输出,只要环境变量存在即可正常使用连接。
内容的提问来源于stack exchange,提问作者user3595632
相关产品推荐
相关产品推荐

