如何使用python不管文件密钥如何从S3存储桶下载所有文件

苏亚什·古普塔

我正在做一个自动化工作,其中我需要从S3存储桶中的文件夹下载所有文件,而不管文件名如何。我了解在python中使用boto3可以下载以下文件:

s3BucketObj = boto3.client('s3', region_name=awsRegion, aws_access_key_id=s3AccessKey, aws_secret_access_key=s3SecretKey)
s3BucketObj.download_file(bucketName, "abc.json", "/tmp/abc.json")

但是我当时试图下载所有文件,而不管用这种方式指定什么文件名:

s3BucketObj.download_file(bucketName, "test/*.json", "/test/")

我知道上面的语法可能是完全错误的,但是有一种简单的方法吗?

我确实找到了一个有助于解决问题的线程,但似乎有点复杂:Boto3从S3存储桶下载所有文件

约翰·罗滕斯坦

没有对可以下载多个文件的Amazon S3的API调用。

最简单的方法是使用具有命令AWS命令行界面(CLI)它将为您做任何事情。aws s3 cp --recursiveaws s3 sync

如果您选择自己编程,那么Boto3可以从S3存储桶下载所有文件,这是一个很好的方法。这是因为您需要做几件事:

  • 遍历每个对象(没有S3 API复制多个文件)
  • 创建本地目录(如果不存在)
  • 将对象下载到适当的本地目录

如果您不希望重现目录结构(例如,如果所有对象都在同一路径中),则可以简化该任务。在这种情况下,您可以简单地遍历对象并将每个对象下载到同一目录。

本文收集自互联网,转载请注明来源。

如有侵权,请联系 [email protected] 删除。

编辑于
0

我来说两句

0 条评论
登录 后参与评论

相关文章

Python:如何从 S3 存储桶下载文件

如何从特定日期上传的S3存储桶中下载所有文件?

当对象具有Windows不兼容的文件名时,如何从s3存储桶下载所有文件

如何在Python中使用临时令牌从s3存储桶下载文件

使用Scala从s3存储桶下载所有文件

如何从Amazon S3存储桶中的文件夹中获取所有文件?

如何将S3存储桶中的所有文件公开?

Boto3从S3存储桶下载所有文件

如何根据文件修改日期从s3存储桶下载文件?

如何使用python(boto3)连接到带有pem文件的Amazon S3存储桶

下载文件名与存储桶密钥不同的S3文件

如何使用Boto3创建预签名URL以从S3存储桶下载文件?

如何从连接到 S3 存储桶的 SNS 中获取文件密钥

如何在不使用AWS CLI的情况下使用S3专用存储桶下载文件

如何使用python从S3存储桶中读取.txt文件并查看内容?

如何使用 Python 从公共 AWS S3 存储桶中提取文件

如何从AWS S3存储桶下载加密的.gz文件

如何在Django中从S3存储桶下载媒体文件

如何生成 URL 以从 S3 存储桶下载文件

在S3存储桶中,如何正确配置json格式的文件以进行下载或读取?

如何使用未经身份验证的用户从Swift中的AWS S3存储桶下载文件

使用Python在未经身份验证的公共S3存储桶上下载文件

使用 python boto 仅下载 S3 存储桶中的特定文件夹

使用python从S3存储桶下载后加载的pickle文件出现问题

如何在R中使用sparklyr读取S3文件夹/存储桶中的所有文件?

如何在没有版本控制的情况下获取 S3 存储桶中所有文件的大小?

如何从S3存储桶中更改所有上传的图像文件扩展名

AWS:使用 lambda 函数读取 Amazon S3 存储桶中的所有文件

如何遍历S3存储桶中的文件?