尝试通过将 aws 凭据作为变量传递给气流宏来使用 boto3 连接到 aws s3
Trying to connect to aws s3 with boto3 by passing aws credentials as variables to airflow macros
我有一个气流连接,如下所示:
- 连接 ID:
my_conn_id
- 连接类型:
s3
- 主持人:
my_host
- 登录:
abcd
我尝试通过以下代码使用 boto3 连接到我的 s3,但没有成功
s3client = boto3.client(
service_name='s3',
region_name='us-east-1',
aws_access_key_id="{{ conn.conn_id.host }}",
aws_secret_access_key="{{ conn.conn_id.host }}"
)
如有任何帮助,我们将不胜感激
您的连接配置错误。输入您的 aws_access_key_id 作为登录名,输入 aws_secret_key_id 作为密码。当您生成 AWS 密钥时,您同时获得了访问密钥和秘密密钥——您将同时需要它们。如果您没有密钥,请在 AWS 中重新生成密钥。在此处查看连接详细信息 - Airflow AWS connection
在 Airflow 中,如果需要,您应该使用 S3Hook 生成 boto3 S3 客户端,但请先检查 S3Hook 的功能,看看您是否可以使用它来完成您的任务。在此处查看函数 - S3Hook source code
from airflow.providers.amazon.aws.hooks.s3 import S3Hook
s3client = S3Hook(aws_conn_id=my_conn_id).get_conn()
我有一个气流连接,如下所示:
- 连接 ID:
my_conn_id
- 连接类型:
s3
- 主持人:
my_host
- 登录:
abcd
我尝试通过以下代码使用 boto3 连接到我的 s3,但没有成功
s3client = boto3.client(
service_name='s3',
region_name='us-east-1',
aws_access_key_id="{{ conn.conn_id.host }}",
aws_secret_access_key="{{ conn.conn_id.host }}"
)
如有任何帮助,我们将不胜感激
您的连接配置错误。输入您的 aws_access_key_id 作为登录名,输入 aws_secret_key_id 作为密码。当您生成 AWS 密钥时,您同时获得了访问密钥和秘密密钥——您将同时需要它们。如果您没有密钥,请在 AWS 中重新生成密钥。在此处查看连接详细信息 - Airflow AWS connection
在 Airflow 中,如果需要,您应该使用 S3Hook 生成 boto3 S3 客户端,但请先检查 S3Hook 的功能,看看您是否可以使用它来完成您的任务。在此处查看函数 - S3Hook source code
from airflow.providers.amazon.aws.hooks.s3 import S3Hook
s3client = S3Hook(aws_conn_id=my_conn_id).get_conn()