【问题标题】:'S3' object has no attribute 'Bucket''S3' 对象没有属性 'Bucket'
【发布时间】:2017-11-24 08:27:07
【问题描述】:

我收到这个错误'S3' object has no attribute '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

【问题讨论】:

标签: python python-3.x boto3


【解决方案1】:

与 Boto3 交互的方式不止一种。

使用resource()S3.Bucket 之类的类的高级方法。 低级使用boto3.client(...)。你有点把这两者混为一谈了。

如果您查看here,它将阐明差异。总之……

高级示例

s3 = boto3.resource('s3') 
the_bucket = s3.Bucket('my_bucket')

低级示例

self.client = boto3.client(...)
self.client.create_bucket(...)

【讨论】:

  • 为什么要区分两者?使用一个比另一个有好处吗?
  • boto3 的文档真的很混乱,我尝试删除文件时也发生了同样的事情,我最终混合了这些方法。以下是可用于使用客户端模式的方法的完整列表:boto3.amazonaws.com/v1/documentation/api/latest/reference/…
猜你喜欢
  • 2021-12-07
  • 2021-08-06
  • 1970-01-01
  • 2020-11-05
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2012-12-01
相关资源
最近更新 更多