python - 这样做时可以复制 s3 文件并更改其 zip 格式吗?
问题描述
我想在别处复制一个 s3 文件并将 zip 格式替换为.zip
to.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)
解决方案
AWS S3 无法重新打包您的文件,因为它只是对象存储系统,它为您的对象内置了重新格式化或重新打包功能。您要么必须将它们下载到本地机器/EC2 实例,重新打包,然后以正确的格式重新上传。
根据文件的数量和大小,您还可以考虑使用S3 Batch并使用 lambda 函数对每个 zip 文件执行重新打包。
推荐阅读
- excel - VBA - 日期和时间,清理和格式化
- android - 没有 onCreateView 的片段
- amazon-web-services - 将 AWS 账户添加到 GCP Stackdriver
- ruby-on-rails - Rails - 我的控制器中的 AbstractController::DoubleRenderError
- azure - Databricks-connect 测试:TypeError:预期的 str、字节或 os.PathLike 对象,而不是 NoneType
- java - 是否有任何可能的方法从 OnCllickListener 方法中检索 ArrayList 值并将其保存在它的父方法中?
- flutter - 为什么我的调试和发布颤振应用程序在启动后都崩溃了几毫秒?在我尝试发布应用程序之前调试工作正常
- java - 生成和播放声音信号
- docker - 如何退出运行 alpine 3.3 的 docker 容器并显示错误代码?
- c# - DropDownList 错误,System.InvalidOperationException