Python Boto 下载问题

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

如果有人与 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 存储桶中获取最新的日期时间命名文件并下载它,但我想知道是否可以指定它的下载位置。

最佳答案

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

要解决您的问题:

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

:参数前缀:允许您将列表限制为特定的 字首。例如,如果您使用以下方式调用该方法 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

关于Python Boto 下载问题,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/13949713/

相关文章:

python - 为什么我的容器找不到 pip 安装的包(通过 git)?

amazon-web-services - EC2 在亚马逊网络服务上重新安装 ubuntu

amazon-web-services - AWS Elasticsearch - 查询缓存

ruby - AWS Elasticsearch 服务不断给出 'User anonymous' 错误

amazon-web-services - Amazon S3 错误代码 403 禁止进入 EMR 集群

python - 使用 zope.schema 定义循环引用

python - 如何确定传递给命令行的字符串子进程?

python - 为什么在 C 和 Python 中使用 OpenSSL API 时会得到不同的签名?

java - 为什么 putObject 在使用 PutObjectRequest 时会抛出 AmazonS3Exception,但在没有 PutObjectRequest 的情况下却可以正常工作?

amazon-web-services - 如何让 python 包 `awswranger` 接受自定义 `endpoint_url`