[英]Problems Enabling S3 Bucket Transfer Acceleration Using boto3
我正在尝试使用boto3拉有关S3存储桶的信息。 这里是设置(bucketname被设置为一个有效的S3存储名称):
import boto3
s3 = boto3.client('s3')
result = s3.get_bucket_acl(Bucket=bucketname)
当我尝试时,出现以下错误:
ClientError:调用GetBucketAcl操作时发生错误(InvalidRequest):在此存储桶中未配置S3传输加速
因此,我尝试启用传输加速:
s3.put_bucket_accelerate_configuration(Bucket=bucketname, AccelerateConfiguration={'Status': 'Enabled'})
但是,由于上面的行正在尝试配置存储桶,因此出现了这个错误,这似乎很愚蠢。 我也具有IAM权限(允许:*)来修改存储桶:
ClientError:调用PutBucketAccelerateConfiguration操作时发生错误(InvalidRequest):未在此存储桶上配置S3 Transfer Acceleration
有人对我在这里缺少什么有任何想法吗?
尽管我从boto3文档中借用了原始问题中的代码,但是此构造并不完整,并且没有提供我期望的连接性:
s3 = boto3.client('s3')
真正需要的是完全初始化的会话和客户端处理程序,如下所示(假定在〜/ .aws / config文件中正确配置了配置文件变量,并且bucketname是有效的S3存储桶):
from boto3 import Session
session = Session(profile_name=profile)
client = session.client('s3')
result = client.get_bucket_acl(Bucket=bucketname)
完成此操作后(duh),无论传输加速与否,我都可以连接。
感谢评论者,因为这些评论使我找到了解决方案。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.