检测到您已登录华为云国际站账号,为了您更好的体验,建议您访问国际站服务网站 https://www.huaweicloud.com/intl/zh-cn
不再显示此消息
案例概述 本手册基于函数流服务实践所编写,用于指导您使用函数流服务实现OBS数据处理的功能。(当前函数流暂时支持华北-北京四、华东-上海一、华东-上海二、华南-广州、亚太-新加坡。) 场景介绍 用户使用函数流编排函数方式自动化处理OBS中的数据(如视频解析、图片转码、视频截图等)。
步骤一:创建SFS Turbo文件系统 登录华为云弹性文件服务控制台,选择“SFS Turbo”,单击“创建文件系统”,进入“创建文件系统”界面。 在“创建文件系统”界面,参考表1填写参数,其他参数保持默认即可,如需使用其他参数请参考创建SFS Turbo文件系统。
步骤二:创建虚拟私有云VPC和子网 登录华为云网络控制台,单击“创建虚拟私有云”,进入“创建虚拟私有云”界面。 在“创建虚拟私有云”界面参考表1填写参数,其他参数保持默认即可。 表1 VPC和子网参数配置 参数类别 参数 参数说明 取值样例 基本信息 区域 必选参数。
步骤二:创建虚拟私有云VPC和子网 登录华为云网络控制台,单击“创建虚拟私有云”,进入“创建虚拟私有云”界面。 在“创建虚拟私有云”界面参考表1填写参数,其他参数保持默认即可。 表1 VPC和子网参数配置 参数类别 参数 参数说明 取值样例 基本信息 区域 必选参数。
此处推荐Huawei Cloud EulerOS,可参考以下步骤搭建环境: 在华为云购买一台EulerOS的ECS弹性云服务器,请参见购买并登录Linux弹性云服务器。在基础配置环节选择公共镜像时,选择Huawei Cloud EulerOS操作系统和具体的镜像版本。
创建Next.js项目 本案例以Next.js框架的默认demo为例演示部署过程,需要在Linux环境中创建一个全新的Next.js项目,本案例采用本地运行Docker node:18.15.0镜像的方式,同样适用于其他Linux系统。关于Docker镜像和Linux操作系统的使用并非本案例主要内容
C#函数开发 C#函数接口定义 FunctionGraph运行时目前支持C#(.NET Core 2.1)、C#(.NET Core 3.1)、C#(.NET Core 6.0,当前仅支持华北-乌兰察布二零二、华北-乌兰察布二零一、拉美-墨西哥城二)版本。 C#函数接口定义:作用域
使用容器镜像创建函数 FunctionGraph支持加载容器镜像中的函数并运行,与直接上传代码的方式相比,用户可以使用自定义的代码包,不仅灵活,也简化了用户的迁移成本。 约束与限制 请参见配置函数的委托权限,创建一个包含“SWR Admin容器镜像服务(SWR)管理员”权限的委托,
其他费用 在您使用函数工作流服务过程中,如果搭配使用了其它华为云服务,如OBS、SMN等,则您需要为该服务支付额外的费用。 按所使用服务计费模式计费 其他各云服务计费方式有差异,具体计费详情请参考价格详情。
获取函数的metadata 功能介绍 获取指定函数的metadata。 调用方法 请参见如何调用API。 URI GET /v2/{project_id}/fgs/functions/{function_urn}/config 表1 路径参数 参数 是否必选 参数类型 描述 project_id
查询租户配额 功能介绍 查询租户配额 调用方法 请参见如何调用API。 URI GET /v2/{project_id}/fgs/quotas 表1 路径参数 参数 是否必选 参数类型 描述 project_id 是 String 租户项目 ID,获取方式请参见获取项目ID。 请求参数
构建程序 本例提供一个图片旋转的样例代码供学习使用。 创建程序包 本例使用Golang语言实现图片旋转的功能,有关函数开发的过程请参考Golang函数开发。本例不再介绍业务功能实现的代码,样例代码目录如图1所示。 图1 样例代码目录 创建函数 创建函数的时候,必须选择委托包含OBS
使用容器镜像创建并执行HTTP函数 本章节将以使用容器镜像方式创建HTTP类型函数为例,介绍容器镜像函数的创建及测试过程。此过程中用户需要在镜像中实现一个http server,并监听8000(下文示例中提及的8000端口请不要变动)端口接收请求。备注:HTTP函数只支持APIG触发器
使用Visual Studio 新增json序列化和反序列化接口,并提供HC.Serverless.Function.Common.JsonSerializer.dll 。 提供的接口如下: T Deserialize<T>(Stream ins):反序列化值传递到Function
由于华为云各服务之间存在业务依赖关系,因此给用户授予角色时,可能需要一并授予依赖的其他角色,才能正确完成业务。角色并不能满足用户对精细化授权的要求,无法完全达到企业对权限最小化的安全管控要求。
使用容器镜像创建并执行事件函数 本章节将以使用容器镜像方式创建事件函数为例,介绍容器镜像函数的创建及测试过程。用户需要在镜像中实现一个http server,并监听8000端口接收请求。其中,请求路径/init 默认为函数初始化入口,请根据需要实现该接口。请求路径/invoke为函数执行入口
修改函数的metadata信息 功能介绍 修改指定的函数的metadata信息。 调用方法 请参见如何调用API。 URI PUT /v2/{project_id}/fgs/functions/{function_urn}/config 表1 路径参数 参数 是否必选 参数类型 描述
使用已有SpringBoot项目构建HTTP函数 方案概述 本章节主要指导使用Springboot开发应用的用户,部署业务到FunctionGraph。 用户通常可以使用SpringInitializr或者IntelliJ IDEA新建等多种方式构建SpringBoot,本章节以Spring.io
函数支持的事件源 本节列出了FunctionGraph函数支持的云服务,可以将这些服务配置为FunctionGraph函数的事件源。在预配置事件源映射后,这些事件源检测事件时将自动调用FunctionGraph函数。 消息通知服务SMN 可以编写FunctionGraph函数来处理
FunctionGraph支持的触发事件 FunctionGraph支持的触发事件 表1为支持触发FunctionGraph函数的云服务,这些云服务可配置为FunctionGraph函数的事件源,即配置函数的触发器。配置事件源触发器后,只要检测到相应事件,将自动调用FunctionGraph