体验简介

本场景将提供一台配置了Centos 7.7版本的ECS实例(云服务器)和对象存储OSS实例。
通过本教程的操作,您可以基于已有的环境使用函数计算将对象存储OSS上多个文件(Object)打包下载到本地。

体验此场景后,可以掌握的知识有:

OSS基本操作
了解到函数计算基本概念

背景知识

本场景主要涉及以下云产品和服务:

对象存储OSS:阿里云对象存储OSS(Object Storage Service)是阿里云提供的海量、安全、低成本、高持久的云存储服务。其数据设计持久性不低于99.9999999999%(12个9),服务可用性(或业务连续性)不低于99.995%。OSS具有与平台无关的RESTful API接口,您可以在任何应用、任何时间、任何地点存储和访问任意类型的数据。您可以使用阿里云提供的API、SDK接口或者OSS迁移工具轻松地将海量数据移入或移出阿里云OSS。数据存储到阿里云OSS以后,您可以选择标准存储(Standard)作为移动应用、大型网站、图片分享或热点音视频的主要存储方式,也可以选择成本更低、存储期限更长的低频访问存储(Infrequent Access)、归档存储(Archive)、冷归档存储(Cold Archive)作为不经常访问数据的存储方式。当您从OSS中批量下载Object时可能会遇到批量下载不方便、小文件较多时下载缓慢等问题。通过调用函数计算,可以将OSS上的Object先打包,之后将压缩包下载到本地后再解压,实现快速下载批量文件的目的。使用函数计算打包下载OSS文件的流程如下图所示。

函数计算
函数计算是事件驱动的全托管计算服务。使用函数计算,您无需采购与管理服务器等基础设施,只需编写并上传代码。函数计算为您准备好计算资源,弹性地、可靠地运行任务,并提供日志查询、性能监控和报警等功能。

开通函数计算服务

在使用函数计算前,您需要开通函数计算服务。

说明: 本场景中提供的阿里云子账号无函数计算服务操作权限,所以请使用您自己的阿里云账号操作。您无需担心扣费问题,因为函数计算服务有一定的免费额度,请参见计费方式。

\1. 使用您自己的阿里云账号登录阿里云控制台,然后进入函数计算产品详情页。

\2. 单击**【免费开通】**。

\3. 阅读《函数计算服务协议》勾选同意服务协议,最后单击**【立即开通】**。

\4. 单击**【管理控制台】**进入函数计算控制台。

安装Funcraft

​ \1. 执行如下命令,安装支持ZIP的工具。

yum install -y unzip zip

\2. 执行如下命令,下载Funcraft工具。

curl -o fun-linux.zip http://funcruft-release.oss-accelerate.aliyuncs.com/fun/fun-v3.6.23-linux.zip

\3. 执行如下命令,解压Funcraft工具安装包。

unzip fun-linux.zip

\4. 执行如下命令,将Funcraft工具的路径增添到环境变量PATH目录中。

mv fun-v3.6.23-linux /usr/local/bin/fun

\5. 执行如下命令,验证Funcraft工具是否安装成功。

fun --version

返回如下结果,表示Funcraft工具安装成功。

\6. 执行如下命令,进行Funcraft工具本地配置。

fun config

请参考以下信息输入您的Aliyun Account ID、Aliyun Access Key ID和Aliyun Access Key Secret密钥等信息。

Aliyun Account ID:请在账号安全设置页面查看您的账号ID。

Aliyun Access Key ID和Aliyun Access Key Secret:请在安全信息管理页面查看您账号的AccessKey ID和AccessKey Secret。

如果您使用的是阿里云主账号,请在安全信息管理页面的安全提示弹框中单击继续使用AccessKey。

如果您使用的是阿里云RAM子用户,需要确保您的子用户拥有函数计算管理权限AliyunFCFullAccess,请参见为RAM用户授权。

如下图所示为您的AccessKey ID和AccessKey Secret。如果您的账号未使用过AccessKey,请单击右上角创建AccessKey。

Default region name:请选择开通的函数计算服务所在地域。

正确设置可参考下图。

部署函数

\1. 执行如下命令,下载函数代码。

wget https://codeload.github.com/awesome-fc/zip-oss/zip/master

\2. 执行如下命令,解压已下载的函数代码。

unzip master

\3. 执行如下命令,进入新产生的文件夹。

cd zip-oss-master

\4. 执行如下命令,修改event.json文件,填写需要压缩的文件所在位置。

vim event.json

进入Vim编辑器后,按下i键进入编辑模式,修改以下内容,添加完成后按下Esc键退出编辑模式,最后输入:wq后按下Enter键,保存并退出Vim编辑器。

{"region": "cn-beijing","bucket": "test-unzip2","source-dir": "test/"
}

参数说明:

  • region:填写OSS所在地域的regionid,可在第一小节中的云产品资源下拉列表中查看OSS所在地域的regionid,例如杭州填写cn-hangzhou。
  • bucket:填写OSS的Bucket名称,可在第一小节中的云产品资源下拉列表中查看Bucket名称。
  • source-dir:填写需要解压的文件目录,例如根目录填写./。建议将需要压缩的文件统一放在一个文件目录下。

添加后的文件内容如下所示。

\5. 执行如下命令,部署函数,并记录url值。

fun deploy

命令返回结果如下,输入Y继续。

命令返回结果如下,复制url值。

执行如下命令,触发函数。

curl -v -L -o /localpath -d @./event.json urlvalue

说明: 需要将urlvalue替换成上一步中复制的url值。

\6. 双击虚拟桌面FireFox ESR浏览器,在RAM登录页面使用云产品资源下拉列表中的子账号用户和子账号密码登录。

\7. 在浏览器中访问OSS控制台(https://oss.console.aliyun.com/bucket)。

\8. 在OSS控制台页面,单击Bucket列表

\9. 在Bucket列表页面,单击Bucket名称

\10. 在文件管理页面,您可以看到刚刚上传的压缩文件。

场景实践:使用函数计算打包下载OSS文件相关推荐

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

    简介:打包下载OSS上存储的多个文件是一个常见的需求,例如将 OSS 上的一个目录打包下载.这样可以节省网络传输的数据,达到减少费用和下载时间的效果.使用函数计算可以很方便地实现这个需求. 需求 打包 ...

  2. PHP打包下载多文件

    PHP5.2+内置支持多文件打包,使用ZipArchive类. 要实现多文件打包下载,分两步,第一步是使用ZipArchive压缩多个文件,然后使用header指令生成下载操作. 第1步为了递归添加目 ...

  3. PHP打包下载整个文件夹或多文件

    有时候需要输出服务器上某个文件夹的全部文件,比如备份网站,用下面的PHP函数来实现.web开发 php 函数库代码PHPZip为:(请复制以下代码保存,以供调用) <? Class PHPZip ...

  4. PHP打包下载zip文件

    use \ZipArchive;//download to ZIP $filename = str_replace('\\', '/', public_path()) . '/downloads_xm ...

  5. 联想打包下载驱动文件说明

    -------------------------------------------------------------------- 文件名称:ACPI[6iku08ww].exe 驱动说明:Th ...

  6. 小谈CDN回源函数计算的应用场景

    CDN团队联合函数计算团队近期推出了一个全新功能,即通过CDN把回源流量指向函数计算进行处理,该功能旨在帮助CDN用户能通过函数计算快速处理和便捷处理回源数据为目的,用户仅仅需要在CDN回源地址填写函 ...

  7. 基于阿里云Serverless架构下函数计算的最新应用场景详解(二)

    摘要: Serverless概念是近年来特别火的一个技术概念,基于这种架构能构建出很多应用场景,适合各行各业,只要对轻计算.高弹性.无状态等场景有诉求的用户都可以通过本文来普及一些基础概念,看看这些场 ...

  8. 批量打包下载阿里OSS文件

    有需求的地方就有方法,批量下载oss文件,上一章说的是从前端的角度实现批量一个个间断性下载,但是存在一定问题(1.用户体验不好,2.多次下载或弹窗需要修改浏览器配置,且有时候存在请求被取消的风险,操作 ...

  9. 启动延时缩短 50%-80%,函数计算发布镜像加速功能

    作者 | Shuai Chang  阿里云云原生 Serverless 团队高级技术专家 来源 | 阿里巴巴云原生公众号 体验文档:镜像拉取加速文档 FaaS 和容器 容器镜像因其颠覆式创新成为云原生 ...

最新文章

  1. 激光雷达与汽车技术路线
  2. android EditText监听事件及参数详解
  3. Android Studio 配置
  4. 安卓系统辅助功能中的指针停止移动后点击是什么?OTG
  5. rust(70)-条件表达式
  6. (八)深入浅出TCPIP之TCP长连接与短连接详解
  7. A/D采样控制电路设计---VHDL
  8. VB.NET工作笔记008---vs2017创建使用WCF服务_并调用服务demo
  9. RS485端子接线方法(带图)
  10. RGB 256颜色表代码表
  11. 获取苹果收集设备ID的方法
  12. [Qt] 使用LZMA SDK完成C++的7z格式文件压缩和解压缩
  13. fpga如何约束走线_FPGA入门之我见- 布局布线(place route,PAR)
  14. App自动化测试怎么做?实战分享App自动化测试全流程
  15. AUTOSAR OS和OSEK OS
  16. 用HTML+CSS编写课程表及个人简历表
  17. ipad pro如何作为windows、mac pro和手机的低时延的写字板(低于1秒)
  18. 浅析防雷型TVS管的特性及应用
  19. zookeeper:[WorkerSender[myid=2]:QuorumCnxManager@584] - Cannot open channel to 3 at election address
  20. MATLAB巴特沃斯滤波器C语言离散实现

热门文章

  1. 【产品经理三节课】第4章 产品调研入门
  2. 微信小程序地图定位开发教程
  3. unittest用例封装
  4. 打开php文件url格式,url格式是什么
  5. 【MATLAB基础绘图第7棒】绘制各式柱状图
  6. 美国俚语:Keep your eyes peeled什么意思?_
  7. 《精英日课》第三季_2019年四月新书《九个工作谎言》_1工作是具体的,公司是虚拟的
  8. VS2017编译SQLite3生成.lib
  9. .netcore基础知识(一)
  10. maya建模模型变黑问题解决