使用函数计算打包下载 OSS 文件
需求
打包下载 OSS 上存储的多个文件,例如将 OSS 上的一个目录打包下载。这样可以节省网络传输的数据,达到减少费用和下载时间的效果。
方案
使用函数计算先把多个文件压缩成一个 zip,存储到 OSS 上面,返回 zip 文件的地址,客户端下载此文件。一般的客户端都支持跟随 HTTP 302 跳转地址,所以在完成压缩后,返回一个 302 的地址,客户端再跟随这个地址下载压缩后的文件包。
函数代码下载: zip-oss-code.zip。
实现细节
- 函数运行环境的磁盘空间是有限的,采用流式下载和上传的方式,只在内存中缓存少量的数据;
- 为了加快速度,一边生成 zip 文件时一边上传到 OSS;
- 上传 zip 文件到 OSS 时,利用 OSS 分片上传的特性,多线程并发上传。
实验
实验数据
实验步骤
在 OSS 上准备要打包的文件
- 把文件放在 OSS 上面


