我想从我的由云组成者管理的气流系统中访问AWS服务。我不想从气流UI进行设置-我想使用作为CLI的Google Cloud SDK进行设置。
使用CLI的env-variables
选项是我唯一的选择吗?如果是这样,那么仅设置AWS_ACCESS_KEY_ID
和AWS_SECRET_ACCESS_KEY
env变量就足够了吗?还是我需要设置许多特定于气流的连接变量,例如对于s3 AIRFLOW_CONN_S3_DEFAULT
?
答案 0 :(得分:3)
您可以使用gcloud composer environment run通过Cloud Composer SDK CLI传送气流命令。例如:
gcloud config set composer/location {your-env-location}
gcloud composer environments run {your-env-name} connections -- -a --conn_id your-aws-id --conn_type aws {any other connection details}
因此,如果您要更新名为aws_default
的环境的my-env
连接,请首先使用以下命令删除预先存在的条目(此connection_id由airflow预先填充)命令:
gcloud composer environments run my-env connections -- -d --conn_id aws_default
,然后添加您的凭据,如下所示:
gcloud composer environments run data-lake connections -- -a --conn_id aws_default --conn_type aws --conn_extra '{"region_name": "us-east-1", "aws_access_key_id":"YOUR_ACCESS_KEY_HERE", "aws_secret_access_key": "YOUR_SECRET_KEY_HERE"}'
当然,您需要相应地更新AWS区域名称和凭据。