我想在不与Airflow GUI交互的情况下创建S3连接。是否可以通过airflow.cfg或命令行?
我们正在使用AWS角色,并且以下连接参数适用于我们: {" aws_account_id":" XXXX"" role_arn":" YYYYY"}
因此,在GUI上为S3手动创建连接正在运行,现在我们希望自动化此过程并希望将其添加为Airflow部署过程的一部分。有什么工作吗?
答案 0 :(得分:5)
您可以使用气流CLI。遗憾的是,不支持编辑连接,因此您必须在部署过程中删除和添加,例如:
airflow connections -d --conn_id 'aws_default'
airflow connections -a --conn_id 'aws_default' --conn_uri 'aws:' --conn_extra '{"region_name": "eu-west-1"}'
答案 1 :(得分:3)
答案 2 :(得分:1)
我在查看S3_hook.py
后能够弄清楚例如:
export AIRFLOW_CONN_S3_DEFAULT={"aws_account_id":"99999999","role_arn":"bbbbb"}
下面:
答案 3 :(得分:0)
可能已经晚了,但是documentation中有一个关于此的部分:
在Airflow管道中引用连接时,conn_id应该是不带前缀的变量名称。例如,如果conn_id命名为postgres_master,则环境变量应命名为AIRFLOW_CONN_POSTGRES_MASTER(请注意,环境变量必须全部为大写)。 Airflow假定从环境变量返回的值采用URI格式(例如postgres:// user:password @ localhost:5432 / master或s3:// accesskey:secretkey @ S3)。