能否将上传至S3的Zip文件自动解压?
Amazon S3自动解压上传Zip文件的方案
Amazon S3本身不支持上传Zip文件后自动解压的原生功能,但可以通过配合AWS Lambda实现这一需求,以下是具体的实现思路:
- 创建Lambda函数:编写函数逻辑,监听目标S3存储桶的对象创建事件,当检测到
.zip格式文件上传时,读取该Zip文件内容,解压后将文件逐一写入S3的指定位置(可选择同存储桶的不同路径或其他存储桶)。 - 配置权限:为Lambda函数的IAM角色添加权限,允许其读取触发事件的S3存储桶中的Zip文件,以及将解压后的文件写入目标存储路径。
- 设置S3事件通知:在目标S3存储桶中配置事件规则,将「对象创建(全部)」事件发送至上述Lambda函数,同时添加过滤条件,仅针对
.zip后缀的文件触发。
注意事项
- 针对你提到的25MB压缩文件,Lambda的处理能力完全覆盖:Lambda临时存储最大支持512MB,最长执行时间可达15分钟,足以完成解压和写入操作。
- 解压时建议添加文件重名处理逻辑,避免覆盖存储桶中已有的同名文件。
- 务必确认Lambda的IAM角色权限配置正确,防止出现读取或写入S3失败的权限错误。
内容的提问来源于stack exchange,提问作者feerlay
相关产品推荐
相关产品推荐

