[英]Trying to connect to aws s3 with boto3 by passing aws credentials as variables to airflow macros
我有一個 airflow 連接,如下所示:
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 連接
在 Airflow 中,如果需要,您應該使用 S3Hook 生成 boto3 S3 客戶端,但請先查看 S3Hook 的功能,看看是否可以使用它來完成任務。 在此處查看函數 - S3Hook 源代碼
from airflow.providers.amazon.aws.hooks.s3 import S3Hook
s3client = S3Hook(aws_conn_id=my_conn_id).get_conn()
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.