wget https://codeload.github.com/awesome-fc/zip-oss/zip/master2、解压
unzip master3、修改event.json文件,填写需要压缩的文件所在位置
cd zip-oss-master/
vi event.json
{
"region": "regionid",
"bucket": "bucketname",
"source-dir": "path/"
}
各参数说明如下:
region:填写Bucket所在地域的regionid,例如杭州填写cn-hangzhou。
bucket:填写Bucket名称。
source-dir:填写需要解压的文件目录,例如根目录填写./。建议将需要压缩的文件统一放在一个文件目录下。
按需选择安装Serverless Devs的方式:
(1)通过包管理器安装按需选择以下方式安装Serverless Devs。
通过npm包管理器安装:适用于已经预装npm的Windows、macOS和Linux操作系统。
执行以下命令安装Serverless Devs。
npm install @serverless-devs/s -g
说明 Node.js需为10.X及以上版本。安装完成后,您可以执行node --version命令查看Node.js的版本。
(2)通过yarn包管理器安装:适用于已经预装yarn的Windows、macOS和Linux操作系统。执行以下命令安装Serverless Devs。
yarn global add @serverless-devs/s
执行以下命令,验证是否安装成功。
s -v
成功安装后的执行结果:
@serverless-devs/s: 2.0.83, linux-x64, node-v14.17.4(3)通过脚本安装:适用于macOS、Linux操作系统。
执行以下命令安装Serverless Devs。
curl -o- -L http://cli.so/install.sh | bash
执行以下命令,验证是否安装成功。
s -v
成功安装后的执行结果:
@serverless-devs/s: 2.0.83, linux-x64, node-v14.17.45、配置Serverless Devs
执行以下命令选择云厂商。
s config add
如果出现lines.flat is not a function,这是因为node版本太低,需要升级 查看node升级
执行输出:
Alibaba Cloud (alibaba)
AWS (aws)
Azure (azure)
Baidu Cloud (baidu)
Google Cloud (google)
Huawei Cloud (huawei)
Tencent Cloud (tencent)
(Move up and down to reveal more choices)
选择目标云厂商,然后按回车。本文以Alibaba Cloud (alibaba)为例。
根据交互提示,设置相关密钥信息。
Please select a provider: Alibaba Cloud (alibaba) Refer to the document for alibaba key: http://config.devsapp.net/account/alibaba AccountID 188077086902**** AccessKeyID LTAI4G4cwJkK4Rza6xd9**** AccessKeySecret eCc0GxSpzfq1DVspnqqd6nmYNN**** Please create alias for key pair. If not, please enter to skip default
Alias: default AccountID: 188077086902**** AccessKeyID: LTAI4G4cwJkK4Rza6xd9**** AccessKeySecret: eCc0GxSpzfq1DVspnqqd6nmYNN****
Configuration successful
Serverless Devs同时也支持命令式密钥添加,例如执行以下命令配置阿里云的密钥信息:
s config add --AccessKeyID LTAI4G4cwJkK4Rza6xd9**** --AccessKeySecret eCc0GxSpzfq1DVspnqqd6nmYNN**** --AccountID 188077086902**** --access ***
执行以下命令,获取密钥信息:
获取指定别名的密钥信息。例如-a指定目标别名为default:
s config get -a default
输出示例:
default: AccountID: 188077086902**** AccessKeyID: LTAI4FoAC3JPPWKPZDVg**** AccessKeySecret: gwL7FuveTjmHC7xyvvwOxP6ysI****
获取全部的密钥信息:
s config get
输出示例:
default: AccountID: 188077086902**** AccessKeyID: LTAI4G4cwJkK4Rza6xd9**** AccessKeySecret: eCc0GxSpzfq1DVspnqqd6nmYNN**** default-1: AccountID: 188077086902**** AccessKeyID: LTAI4FoAC3JPPWKPZDVg**** AccessKeySecret: gwL7FuveTjmHC7xyvvwOxP6ysI****
说明 您可以执行s config get -h命令获取该命令下的更多信息。
删除密钥信息
参数说明:
-a或–access:指定别名名称。
-h或–help:显示帮助信息。
执行以下命令,删除密钥,-a指定别名。
s config delete -a aliasName6、进行资源部署:
在执行之前先确认 zip-oss-master/s.yaml中的region是否与你的一致默认是cn-shanghai,然后在执行:
s deploy
将上中的system_url记住
命令格式如下:
curl -v -L -o /localpath -d @./event.json urlvalue
本文示例中输入的命令为:
curl -v -L -o /test/oss.zip -d @./event.json https://174649585760****.cn-hangzhou.fc.aliyuncs.com/2016-08-15/proxy/zip-service/zip-oss/
原文档由于函数代码更新太快funcraft已经无法使用,需要使用s deploy来进行处理
参考:
Serverless Devs基本功能
使用函数计算打包下载OSS文件



