正在尝试获取bucket的位置



我对这些东西很陌生,我想得到s3 bucket的位置,但我仍然有这个错误"NoAuthHandlerFound:没有准备好进行身份验证的处理程序。检查了1个处理程序。[‘HmacAuthV1Handler’]检查您的凭据"甚至我在使用访问密钥和密钥?代码是这样的。。

from boto3.session import Session
import boto

ACCESS_KEY_ID = '*****'
SECRET_KEY = '*****'

session = Session(aws_access_key_id = ACCESS_KEY_ID, aws_secret_access_key = SECRET_KEY)

s3 = session.resource('s3')
bucket = 's3://****'
my_bucket = s3.Bucket(bucket)

**conn = boto.connect_s3()
bucket = conn.get_bucket('*****')
bucket_location = my_bucket.get_location()
if bucket_location:
conn = boto.s3.connect_to_region(bucket_location)
bucket = conn.get_bucket('*****')**

您只需使用get_bucket_location:

import boto3
session = boto3.session.Session(aws_access_key_id = ACCESS_KEY_ID, aws_secret_access_key = SECRET_KEY)
s3 = session.client('s3')
response = s3.get_bucket_location(
Bucket='bucket-name' 
)
print(response['LocationConstraint'])

最新更新