首页 > 解决方案 > 这样做时可以复制 s3 文件并更改其 zip 格式吗?

问题描述

我想在别处复制一个 s3 文件并将 zip 格式替换为.zipto.gz以便 athena 可以读取它。

在运行 s3 复制命令时是否有这样做的选项,或者我是否必须下载文件、解压缩、gzip 并上传?

我正在使用这样的东西:

bucket=''
target=''
source=''
s3_client = boto3.client('s3')
s3_resource = boto3.resource('s3')
s3_resource.Object(bucket, target).copy_from('{}/{}'.format(bucket,source)

标签: pythonamazon-web-servicesamazon-s3

解决方案


AWS S3 无法重新打包您的文件,因为它只是对象存储系统,它为您的对象内置了重新格式化或重新打包功能。您要么必须将它们下载到本地机器/EC2 实例,重新打包,然后以正确的格式重新上传。

根据文件的数量和大小,您还可以考虑使用S3 Batch并使用 lambda 函数对每个 zip 文件执行重新打包。


推荐阅读