使用函数计算来打包下载OSS文件

    xiaoxiao2022-07-08  262

    需求

    打包下载OSS上存储的多个文件

    方案

    使用函数计算先把多个文件压缩成一个zip,存储到OSS上面,返回zip文件的地址,客户端下载此文件。

    函数代码下载见附件。

    实现细节

    函数运行环境的磁盘空间是有限的,采用流式下载和上传的方式,只在内存中缓存少量的数据。为了加快速度,一边生成zip文件时一边上传到OSS上传zip文件到OSS时,利用OSS分片上传的特性,多线程并发上传

    实验

    实验数据

    #文件数压缩前总大小压缩后总大小执行时间171.2MB1.16MB0.4s2571.06GB1.06GB63s

    实验步骤

    在OSS上准备要打包的文件

    把文件放在OSS上面一个目录下面

    触发函数(通过API网关)

    使用curl命令直接调用函数 cat <<EOF > event.json { "region": "cn-shanghai", "bucket": "fc-test-tianlong-wu", "source-dir": "files/" } EOF curl -v -L -o /tmp/my.zip -H "Content-Type: application/json" -d @./event.json \ {apigateway-domain}-cn-shanghai.alicloudapi.com/zip?redirect=true
    最新回复(0)