ZIP自动解压Lambda函数应用开发
您在体验过程中有任何疑问,都可以在此留言反馈>>
1. 介绍
什么是ZIP自动解压Lambda函数应用?
基于华为云OBS服务和FunctionGraph服务开发Lambda函数应用,ZIP自动解压提供了云侧服务和SDK相关代码,可以帮助开发者快速构建应用,以便应用可以对用户上传到OBS的ZIP文件实现自动解压。
您将建立什么?
在本次Codelabs中,您将创建一个能够具备使用华为云帐号登陆的账户,您的Lambda函数应用程序将包含:
-
解析OBS 事件通知JSON消息
-
具备ZIP文件流式解压
-
具备解压文件上传到OBS桶
您将学会到什么
- 如何基于OBS和FunctionGraph快速开发出Lambda函数。
您需要什么?
开发环境及技能要求:
-
您需要搭建一套完整的Golang开发环境。
-
熟悉Golang
-
参考帐号注册认证注册成为开发者。
运行终端要求:
3. 配置您的开发环境
下载Golang 1.8.3
-
在Golang官网下载1.8.3版本(https://dl.google.com/go/go1.8.3.linux-amd64.tar.gz)。
-
解压Golang,并配置GOROOT环境变量。
-
导入开发工程

集成SDK
针对Golang开发环境,华为提供了Golang的SDK包,开发前需集成SDK到您的工程中。

4. Lambda函数开发
步骤1 解析OBS 事件JSON。
Copied!
var eventMsg notification.NotiOBSMessages;
err := json.Unmarshal(payload, &eventMsg);
步骤2 开发ZIP解压功能。
Copied!
// ZipDecompress 解压ZIP文件
func ZipDecompress(ctx context.RuntimeContext, unCompress Archive) (int, error) {
}
5. 打包
- 运行Lamdba工程生成动态链接库so文件。
Copied!
[root@server-1812211544 go-runtime]\
/home/fssgo/src/go-runtime
[root@server-1812211544 go-runtime]\
[root@server-1812211544 go-runtime]\
6. 上传Lambda函数
步骤1 选择华为帐号登录后,创建OBS桶。
![]()
步骤2 在FunctionGraph 控制台中创建Lambda函数。
![]()
步骤3 在FunctionGraph 控制台中为Lambda函数配置OBS触发器。
![]()
步骤4 在FunctionGraph 控制台中设置Lambda函数配置。
创建委托,选择委托FunctionGraph服务有OBS Operator角色权限
![]()
设置函数配置
![]()
7. 测试
通过OBS Browser+上传一个ZIP文件到测试桶中。观察ZIP文件是否被自动解压
8. 恭喜你
祝贺您,您已经成功地构建了您的第一个OBS Data+的Lambda函数应用程序,并学到了:
- 如何使用OBS SDK以及FunctionGraph服务构建Lambda函数应用程序。
9. 参与互动赢好礼
完成体验,参与互动赢取精美礼品。</br>
![闯关有礼]()
ZIP自动解压Lambda函数应用开发
您在体验过程中有任何疑问,都可以在此留言反馈>>
1. 介绍
什么是ZIP自动解压Lambda函数应用?
基于华为云OBS服务和FunctionGraph服务开发Lambda函数应用,ZIP自动解压提供了云侧服务和SDK相关代码,可以帮助开发者快速构建应用,以便应用可以对用户上传到OBS的ZIP文件实现自动解压。
您将建立什么?
在本次Codelabs中,您将创建一个能够具备使用华为云帐号登陆的账户,您的Lambda函数应用程序将包含:
解析OBS 事件通知JSON消息
具备ZIP文件流式解压
具备解压文件上传到OBS桶
您将学会到什么
您需要什么?
开发环境及技能要求:
您需要搭建一套完整的Golang开发环境。
熟悉Golang
参考帐号注册认证注册成为开发者。
运行终端要求:
2. 能力接入准备
开发ZIP自动解压Lambda函数服务,需要完成以下准备工作
创建Golang工程
下载OBS SDK,FunctionGraph SDK
具体操作,请按照《Go函数开发指南》中详细说明来完成。
https://support.huaweicloud.com/devg-functiongraph/functiongraph_02_0440.html
3. 配置您的开发环境
下载Golang 1.8.3
在Golang官网下载1.8.3版本(https://dl.google.com/go/go1.8.3.linux-amd64.tar.gz)。
解压Golang,并配置GOROOT环境变量。
导入开发工程
集成SDK
针对Golang开发环境,华为提供了Golang的SDK包,开发前需集成SDK到您的工程中。
4. Lambda函数开发
步骤1 解析OBS 事件JSON。
步骤2 开发ZIP解压功能。
5. 打包
[root@server-1812211544 go-runtime]\# pwd /home/fssgo/src/go-runtime [root@server-1812211544 go-runtime]\# go build --buildmode=plugin -o testplugin.so test.go [root@server-1812211544 go-runtime]\# zip fss_examples_go1.8.zip testplugin.so
6. 上传Lambda函数
步骤1 选择华为帐号登录后,创建OBS桶。
步骤2 在FunctionGraph 控制台中创建Lambda函数。
步骤3 在FunctionGraph 控制台中为Lambda函数配置OBS触发器。
步骤4 在FunctionGraph 控制台中设置Lambda函数配置。
创建委托,选择委托FunctionGraph服务有OBS Operator角色权限
设置函数配置
7. 测试
通过OBS Browser+上传一个ZIP文件到测试桶中。观察ZIP文件是否被自动解压
8. 恭喜你
祝贺您,您已经成功地构建了您的第一个OBS Data+的Lambda函数应用程序,并学到了:
9. 参与互动赢好礼
完成体验,参与互动赢取精美礼品。</br>![闯关有礼]()
10. 参考文件
华为帐号的具体登录方法请参见华为帐号开发指南。
华为分析服务的具体开发指导请参见函数工作流开发指南。