开发者社区> rockuw> 正文

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

简介: 需求 打包下载OSS上存储的多个文件 方案 使用函数计算先把多个文件压缩成一个zip,存储到OSS上面,返回zip文件的地址,客户端下载此文件。 函数代码下载zip-oss.zip 实现细节 函数运行环境的磁盘空间是有限的,采用流式下载和上传的方式,只在内存中缓存少量的数据。
+关注继续查看

需求

打包下载OSS上存储的多个文件,例如将OSS上的一个目录打包下载。这样可以节省网络传输的数据,达到减少费用和下载时间的效果。

方案

使用函数计算先把多个文件压缩成一个zip,存储到OSS上面,返回zip文件的地址,客户端下载此文件。一般的客户端都支持跟随HTTP 302跳转地址,所以在完成压缩后,返回一个302的地址,客户端再跟随这个地址下载压缩后的文件包。

zip_oss_high

函数代码下载: zip-oss-code.zip

实现细节

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

zip_oss_low

实验

实验数据

# 文件数 压缩前总大小 压缩后总大小 执行时间
1 7 1.2MB 1.16MB 0.4s
2 57 1.06GB 1.06GB 63s

实验步骤

  1. 在OSS上准备要打包的文件

    • 把文件放在OSS上面一个目录下面
  2. 部署函数

    • 使用fun deploy部署函数
  3. 触发函数(通过HTTP trigger地址)

    • 使用curl命令直接调用函数
cat <<EOF > event.json
{
  "region": "cn-shanghai",
  "bucket": "fc-test-tianlong-wu",
  "source-dir": "files/"
}
EOF

curl -v -L -o /tmp/my.zip -d @./event.json https://123456789.cn-beijing.fc.aliyuncs.com/2016-08-15/proxy/zip-service/zip-oss/

打开/tmp/my.zip,就是files/目录下所有文件的压缩包。

函数计算是一个按量付费的计算服务,每月都有大量的免费额度可以使用,欢迎免费试用

版权声明:本文内容由阿里云实名注册用户自发贡献,版权归原作者所有,阿里云开发者社区不拥有其著作权,亦不承担相应法律责任。具体规则请查看《阿里云开发者社区用户服务协议》和《阿里云开发者社区知识产权保护指引》。如果您发现本社区中有涉嫌抄袭的内容,填写侵权投诉表单进行举报,一经查实,本社区将立刻删除涉嫌侵权内容。

相关文章
oss 追加上传支持excel文件使用吗
oss 追加上传支持excel文件使用吗
210 0
使用OSS上传下载文件
阿里云对象存储OSS(Object Storage Service)是一款海量、安全、低成本、高可靠的云存储服务,可以提供多种用途,最简单的使用方式是做文件存储,用来上传下载文件啊
1308 0
iOS开发:日志记录文件及压缩上传OSS
发现APP上传本地日志文件相当的好用,根据之前研究学习的对这一模块做了一些更具体的优化处理。从标题可以看出,实现这一功能分以下几个步骤: 1、日志记录本地文件 2、日志文件压缩[xx.zip] 3、压缩之后的文件上传 4、压缩文件删除
290 0
阿里云oss同步文件到本地,添加宝塔定时任务自动同步
阿里云oss同步文件到本地,添加宝塔定时任务自动同步
789 0
OSS restful API 调用 get,遍历目录中的文件,python发http request示例
发送get 请求,遍历目录下的所有文件,代码中*** 的部分改成实际内容,这个API说明文档在bucket操作里面。rest请求主要问题在拼header时authorization可能会有问题,注意计算签名时的入参。#tested env: python version v3.9.6 #author: Fred #2022-1-11 import hmac import hashlib impo
221 0
HDFS 海量文件归档到 OSS | 学习笔记
快速学习 HDFS 海量文件归档到 OSS。
77 0
高效迁移 HDFS 海量文件到 OSS | 学习笔记
快速学习高效迁移 HDFS 海量文件到 OSS。
166 0
通过ffplay播放OSS上的mp3文件会断开
抽丝剥茧定位一个疑难问题。
339 0
数据湖实操讲解【数据迁移】第三讲:如何将 HDFS 海量文件归档到OSS
数据湖 JindoFS+OSS 实操干货 36讲 每周二16点准时直播!扫文章底部二维码入钉群,线上准时观看~ Github链接: https://github.com/aliyun/alibabacloud-jindofs/blob/master/docs/jindo_distcp/jindo_distcp_overview.md
480 0
数据湖实操讲解【数据迁移】第一讲:高效迁移 HDFS 海量文件到 OSS
数据湖 JindoFS+OSS 实操干货 36讲 每周二16点准时直播!扫文章底部二维码入钉群,线上准时观看~
616 0
+关注
rockuw
Serverless | Function Compute
文章
问答
来源圈子
更多
专注 Serverless、微服务、函数计算、Serverless 应用引擎、云原生技术
+ 订阅
文章排行榜
最热
最新
相关电子书
更多
百问百答-OSS (上)
立即下载
百问百答-OSS (下)
立即下载
阿里云 JindoFS+OSS 数据上云实战
立即下载