检测到您已登录华为云国际站账号,为了您更好的体验,建议您访问国际站服务网站 https://www.huaweicloud.com/intl/zh-cn
不再显示此消息
总体思路 在本地进行函数编码后,将代码文件上传到OBS桶,并使用OBS链接创建函数。步骤如下: 创建函数工程:在本地进行编码实现函数功能。 上传工程到OBS桶:将代码文件压缩为zip格式并上传到已创建的OBS桶中,记录代码文件的OBS链接。
资产识别与管理 在函数的环境变量中,若有敏感信息例如账号和密码、Ak/Sk等,建议通过配置加密环境变量。不配置加密环境变量,则会在界面或API返回结果中明文展示。 在使用触发器、配置VPC访问、使用自定义镜像、挂载SFS等场景下,FunctionGraph需要与其他云服务协同工作,
可以使用FunctionGraph实时创建图像缩略图、转换视频编码、进行数据文件汇聚、筛选等。 其优势有: 灵活扩展,业务爆发时可以自动调度资源运行更多函数实例以满足处理需求。 事件触发,通过上传文件到OBS,触发FunctionGraph函数进行文件处理。
应用场景 以使用函数做视频转码为例:视频文件大小从MB到GB,不同编码格式和分辨率对转码需要的计算资源要求差别很大。为了保证转码性能,通常需要配置一个很大的资源规格,但是在处理低分辨率(例如短视频)视频时,会造成资源浪费。
Java Python Go 更多 导入函数,文件名为"test.zip",类型为zip,文件base64编码为"xxx"。
自动化部署 部署环境准备 使用CodeArts托管函数代码 deploy.py代码示例 cam.yaml解析
步骤五:搭建函数更新流水线 此流水线的主要作用是将functions仓库的helloworld函数代码配置发布更新到FunctionGraph平台。 新建构建任务 在“构建&发布 > 编译构建”页面,单击“新建任务”。 源码仓库选择functions仓库,构建模板选择“空白构建模板
通过APIG服务调用函数服务时,isBase64Encoded的值默认为true,表示APIG传递给FunctionGraph的请求体body已经进行Base64编码,需要先对body内容Base64解码后再处理。 函数必须按以下结构返回字符串。
其他:函数会返回值作为对象进行json编码,并将编码后的内容作为HTTP响应的Body,同时设置响应的“Content-Type”头为“text/plain”。 当函数的事件源是APIG时,相关约束条件请参考Base64解码和返回结构体的说明。
编辑:支持在编码框中,对代码进行撤销、恢复、剪切、复制、粘贴、查找、替换操作。 设置:支持设置编码框中代码字体大小、自动格式化和编码框主题颜色。 代码编辑区中如果代码有修改,请修改完成后再次单击“部署”,完成重新部署代码。
对象名编码:是否对对象进行编码。 当事件类型选择“指定对象版本号删除对象”时,需要开启多版本控制功能,具体详情请参见多版本控制功能启用时的对象删除机制。 单击“确定”,完成EG触发器的创建。
依赖硬编码的host 环境(例如 hostname, 或者 hostip)的函数在迁移到其他主机上的时候,可能会有问题。建议避免依赖这些变量,请先提前与客服确认。 当前仅支持基于x86机器开发的应用。 前提条件 已创建Java函数。
表6 FuncCode 参数 参数类型 描述 file String 函数代码,如果不为空必须进行base64编码,为空时使用默认的代码。 link String 函数代码链接。
getRawBody() 获取base64编码前的内容 getUserData() 获取APIG自定义认证中设置的userdata 表2 APIGRequestContext相关方法说明 方法名 方法说明 getApiId() 获取API的ID getRequestId() 获取此次
require('@huaweicloud/huaweicloud-sdk-core'); const functiongraph = require("@huaweicloud/huaweicloud-sdk-functiongraph"); // 该示例仅为测试使用,在生产环境中请勿硬编码
其它:FunctionGraph函数服务会将返回值作为对象进行json编码,并将编码后的内容作为HTTP响应的Body,同时设置响应的"Content-Type"头为"application/json"。
huaweicloudsdkcore.exceptions import exceptions from huaweicloudsdkfunctiongraph.v2 import * if __name__ == "__main__": # 该示例仅为测试使用,在生产环境中请勿硬编码
model" region "github.com/huaweicloud/huaweicloud-sdk-go-v3/services/functiongraph/v2/region" ) func main() { // 该示例仅为测试使用,在生产环境中请勿硬编码
工作流+函数:自动化处理OBS中数据 案例概述 准备 构建程序 处理图片
cam.yaml解析 示例 metadata: description: This is an example application for FunctionGraph. author: Serverless team homePageUrl: https://www.huaweicloud.com