airflow - 如何使用 Google Cloud Composer CLI 设置 AWS 凭证?
问题描述
我想从我的 cloud-composer 管理的气流系统访问 AWS 服务。我不想从气流 UI 中进行设置——我想使用作为 CLI 的 Google Cloud SDK 进行设置。
我在这里唯一的选择是使用 CLI 的env-variables
选项吗?如果是这样,我只设置AWS_ACCESS_KEY_ID
和环境变量就足够了AWS_SECRET_ACCESS_KEY
吗?或者我是否需要设置很多特定于气流的连接变量,例如 s3 AIRFLOW_CONN_S3_DEFAULT
?
解决方案
您可以使用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 由气流预先填充):
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 区域名称和凭据。
推荐阅读
- java - 将 Spring 应用程序转换为 SpringBoot
- php - Imap 加载邮箱内容性能 | php-imap | 拉拉维尔
- reactjs - Antd Pro Table 移除默认搜索按钮并实现 Debounce
- typescript - 键值对的 TypeScript 类型别名
- api - 更新没有主键的分离实体
- django - Django应用程序中不同用户类别的限制访问
- terraform - 仅提示 terraform 变量一次
- if-statement - 如何每天重命名多个文件
- javascript - 如何在html上显示本地存储
- c# - 多个线程在具有实体框架核心的同一张表(读+写)上工作