1

如果有人与 boto 合作过,我想知道您是否可以提供帮助。我目前有这个代码:

from boto.s3.connection import S3Connection
from boto.s3.key import Key

conn = S3Connection(XXX, YYY)
bucket = conn.get_bucket('bucketname')
latest = max(bucket, key=lambda k: k.name)
latest.get_contents_to_filename()

我对两件事感到困惑,非常感谢一些帮助:

  1. 在我的存储桶中,我创建了目录。我怎样才能使这个脚本只查看存储桶中的单个目录,即“照片”而不是我的整个 S3 存储桶?
  2. 如何指定下载位置。该脚本旨在从 S3 存储桶中获取最新的日期时间名称文件并下载它,但我想知道是否可以指定它的下载位置。
4

1 回答 1

2

这对我来说也很难,但你需要明白这不是一个带目录的文件系统。

要解决您的问题:

您可以使用前缀参数(来自 GitHub 上的 boto):

:param prefix: 允许您将列表限制为特定前缀。例如,如果您使用 prefix='/foo/' 调用该方法,则迭代器将仅循环遍历以字符串 '/foo/' 开头的键。

https://github.com/boto/boto/blob/develop/boto/s3/bucket.py

看第 219 行

我用来阅读的代码是这样的:

def read_file(self, key_name):
    k = Key(self.__bucket)
    k.key = key_name
    if k.exists():
        rawData = k.read()
    else :
        rawData = None
    return rawData
于 2012-12-19T10:39:49.873 回答