栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 系统运维 > 运维 > Linux

函数计算 FC实现对象存储OSS上多个文件(Object)打包下载到本地

Linux 更新时间: 发布时间: IT归档 最新发布 模块sitemap 名妆网 法律咨询 聚返吧 英语巴士网 伯小乐 网商动力

函数计算 FC实现对象存储OSS上多个文件(Object)打包下载到本地

1、下载函数代码:
wget https://codeload.github.com/awesome-fc/zip-oss/zip/master
2、解压
unzip master
3、修改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:填写需要解压的文件目录,例如根目录填写./。建议将需要压缩的文件统一放在一个文件目录下。

4、安装Serverless Devs

按需选择安装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.4
5、配置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 aliasName
6、进行资源部署:

在执行之前先确认 zip-oss-master/s.yaml中的region是否与你的一致默认是cn-shanghai,然后在执行:

s deploy


将上中的system_url记住

7、使用curl命令触发函数。

命令格式如下:

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文件

转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/894214.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号