繁体   English   中英

使用boto3启用S3存储桶传输加速的问题

[英]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.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM