使用 Boto3 如何从 AWS s3 下载文件列表作为 zip 文件维护文件夹结构?

Posted

技术标签:

【中文标题】使用 Boto3 如何从 AWS s3 下载文件列表作为 zip 文件维护文件夹结构?【英文标题】:Using Boto3 how to download list of files from AWS s3 as a zip file maintaining the folder structure? 【发布时间】:2021-09-03 04:35:09 【问题描述】:

我正在尝试下载维护子文件夹结构的父文件夹中的文件列表。

例如: AWS s3中的文件夹结构https://testbucket.s3.amazonaws.com/folder1/folder2/folder3

“文件夹 3”中的子文件夹和文件:

Subfolders files
3.1 3.1.1.jpg, 3.1.2. jpg
3.2 3.2.1.jpg, 3.2.2. jpg
3.3 3.3.1.jpg, 3.3.2. jpg

要下载的文件列表:[/folder3/3.1/3.1.1.jpg、/folder3/3.2/3.2.1.jpg、/folder3/3.2/3.2.2.jpg]

是否有内置功能是 boto3,通过维护文件夹结构将上述文件下载为 zip 文件?

注意:我尝试使用 python 包“Aws-S3-Manager”,但无法使用它维护文件夹结构

【问题讨论】:

【参考方案1】:

没有。 Amazon S3 没有 Zip 功能。

您需要单独下载每个对象,但您可以并行进行以减少传输时间。

【讨论】:

以上是关于使用 Boto3 如何从 AWS s3 下载文件列表作为 zip 文件维护文件夹结构?的主要内容,如果未能解决你的问题,请参考以下文章

使用 boto3 lib 和 AWS Lambda 从 S3 存储桶中的压缩文件中获取数据流

如何使用 boto3 将 S3 对象保存到文件中

AWS BOTO3 S3 python - 调用 HeadObject 操作时发生错误(404):未找到

AWS CLI 和 BOTO3 开发工具包(权限问题)

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

如何从 S3 加载泡菜文件以在 AWS Lambda 中使用?