【问题标题】:Not able to extract keys in a amzon S3 bucket having some prefix using python boto无法使用 python boto 提取具有某些前缀的亚马逊 S3 存储桶中的密钥
【发布时间】:2014-01-23 20:21:42
【问题描述】:

我正在尝试在 amazon s3 存储桶中获取带有某些前缀的键列表。我按照here 所示的步骤进行操作,但我仍然可以在该存储桶中使用该前缀获取可用的密钥。下面是我试过的代码。

conn = boto.connect_s3(anon=True)
bucket = conn.get_bucket('aws-publicdatasets')
for each_rs in self.bucket.list(prefix="/project_prefix/prefx_key2/prefix_key3/"):
    print each_rs.name

但下面的代码可以正常检索 aws puvlic 数据集中的所有键

conn = boto.connect_s3(anon=True)
bucket = conn.get_bucket('aws-publicdatasets')
for each_rs in self.bucket.list():
    print each_rs.name

我尝试使用 get_all_keys(prefix="/project_prefix/prefx_key2/prefix_key3/") 但仍然没有运气。有没有其他方法可以获取给定前缀的键列表?

【问题讨论】:

  • 也有这个问题,但还没有解决。那时对我来说真的没有必要,所以我不再追求它,但我也对答案感兴趣!

标签: python python-2.7 amazon-web-services amazon-s3 boto


【解决方案1】:

您仅获得已定义前缀的密钥。试试这个:

import boto
conn = boto.connect_s3(anon=True)
bucket = conn.get_bucket('aws-publicdatasets')
list = bucket.list("common-crawl/crawl-001/2008/08/22/28")
for key in list:
    print key.name

【讨论】:

  • 谢谢,这工作.. 但我不明白我的代码中的错误是什么。我不认为在列表中给出 prefix= 是错误的。我还有什么想念的吗
  • prefix= 可以,但错误是prefix="/..."中的第一个斜杠
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2017-03-03
  • 1970-01-01
  • 2012-11-15
  • 1970-01-01
相关资源
最近更新 更多