我正在寻找一种简单的方法来将s3存储桶中存在的zip / gzip提取到同一存储桶位置,并删除提取后的父zip / gzip文件 .
我目前无法使用任何API实现此功能 .
尝试了原生boto,pyfilesystem(fs),s3fs . 源和目标链接似乎是这些功能的问题 .
(与Python 2.x / 3.x和Boto 2.x一起使用)
我看到有一个用于执行此工作的node.js(unzip-to-s3)的API,但是没有用于python的API .
我能想到的几个实现:
-
一个简单的API,用于在同一个存储桶中提取zip文件 .
-
使用s3作为文件系统并操纵数据
-
使用数据管道实现此目的
-
将zip传输到ec2,解压缩并复制回s3 .
选项4将是最不优选的选项,以最小化ec2插件的架构开销 .
需要支持获得此功能实现,并在稍后阶段与lambda集成 . 任何指向这些实现的指针都非常感谢 .
提前致谢,
孙大信 .
3 回答
您可以尝试https://www.cloudzipinc.com/将几种不同格式的存档从S3解压缩/扩展到存储桶中的目标 . 我用它将数字目录的组件解压缩到S3中 .
通过使用ec2实例解决了 . 将s3文件复制到ec2中的本地目录,并将该目录复制回S3存储桶 .
示例解压缩到ec2实例中的本地目录
示例代码上传到mysql实例
使用“LOAD DATA LOCAL INFILE”查询直接上传到mysql