Python ';S3和x27;对象没有属性';桶';
我收到这个错误,“S3”对象没有属性“Bucket”知道吗?下面是我的代码Python ';S3和x27;对象没有属性';桶';,python,python-3.x,boto3,Python,Python 3.x,Boto3,我收到这个错误,“S3”对象没有属性“Bucket”知道吗?下面是我的代码 self.client = boto3.client( 's3', aws_access_key_id= access_key, aws_secret_access_key= secret ) the_bucket = self.client.Bucket('my_bucket') # but I'm receiving an error here 与Boto3互
self.client = boto3.client(
's3',
aws_access_key_id= access_key,
aws_secret_access_key= secret
)
the_bucket = self.client.Bucket('my_bucket') # but I'm receiving an error here
与Boto3互动的方式不止一种 使用
resource()
和类似S3.Bucket
的类的高级方法。
而底层的一个使用boto3.client(…)
。你把这两者混在一起了
如果你仔细看一下,就会清楚区别。简言之
高级示例
s3 = boto3.resource('s3')
the_bucket = s3.Bucket('my_bucket')
self.client = boto3.client(...)
self.client.create_bucket(...)
低级示例
s3 = boto3.resource('s3')
the_bucket = s3.Bucket('my_bucket')
self.client = boto3.client(...)
self.client.create_bucket(...)
您的可能副本混淆了boto3.s3.client和boto3.s3.resource。s3.client.Bucket没有这样的类,只有s3.resource.Bucket是有效的。为什么要区分这两者?使用一个文件比另一个文件有好处吗?boto3的文档真的很混乱,同样的事情发生在我尝试删除一个文件时,我最终混合了这些方法。以下是可用于使用客户端模式的方法的完整列表: