检测到您已登录华为云国际站账号,为了您更好的体验,建议您访问国际站服务网站 https://www.huaweicloud.com/intl/zh-cn
不再显示此消息
在本地进行函数编码后,将代码文件上传到OBS桶,并使用OBS链接创建函数。步骤如下: 创建函数工程:在本地进行编码实现函数功能。 上传工程到OBS桶:将代码文件压缩为zip格式并上传到已创建的OBS桶中,记录代码文件的OBS链接。 创建函数:调用API通过OBS链接创建函数。 步骤1:创建函数工程
FunctionGraph的函数如何读写上传的文件? 函数工作目录权限说明 函数可以读取代码目录下的文件,函数工作目录在入口文件的上一级,例如用户上传了文件夹backend,需要读取与入口文件同级目录的文件test.conf,可以用相对路径“code/backend/test.c
使用FunctionGraph函数实现通过API方式上传文件 方案概述 资源规划 操作流程 父主题: 数据处理类实践
FunctionGraph是否支持对上传的zip文件进行反编译? 函数不支持反编译,需要用户反编译后上传上来。 父主题: 产品咨询
代码文件并上传至OBS桶,制作zip代码包文件时,单函数执行入口文件必须在根目录,确保解压后直接出现函数的执行入口文件,代码才能正常部署,如需修改函数执行入口,请参见修改函数执行入口。 如果创建的函数类型是HTTP函数,请参考配置HTTP函数的代码包。 约束与限制 支持上传zip
部署Java代码包可以是zip文件或独立的jar文件。 上传jar文件 如果函数代码没有引入依赖包,可以直接上传函数代码jar文件。 如果函数代码引入了依赖包,可以先将依赖包上传至OBS桶,在创建函数时设置依赖包,再上传函数代码jar文件。 上传zip文件 如果函数代码引入了依赖包,
后端超时(毫秒):默认5000毫秒。 端到端测试 在本地创建app.log文件,内容自定义,此处简单举例: start something run stop all 以curl工具为例(curl -F的方式主要用的是linux环境),执行如下命令测试: curl -iv {APIG触发器URL}
处理文件 当文件上传后更新至dew-bucket-input桶时,会生成事件,触发函数运行,将文件加解密,保存在dew-bucket-output中。 上传文件生成事件 登录对象存储服务控制台,进入dew-bucket-input桶对象界面,上传image.jpg文件,如图1所示。
文件系统/云服务器名称:选择创建的文件系统或者云服务器资源,注意函数配置的VPC和委托要有访问权限。 共享目录路径:如果选择ECS挂载需要配置远端共享目录,请参见ECS创建nfs共享目录。 函数访问路径:为本地文件系统挂载目录,不能是系统已存在目录。建议使用/mnt/ 下二级子目录,例如/mnt/test。
操作流程 本方案包含以下操作步骤 创建文件接收函数:接收上传的文件并解析内容。 端到端测试:绑定APIG触发器,测试文件上传及处理流程。 NodeJS语言方案 Python语言方案 父主题: 使用FunctionGraph函数实现通过API方式上传文件
后端超时(毫秒):默认5000毫秒。 端到端测试 以curl工具为例(curl -F的方式主要用的是linux环境),您也可以选择postman等其他工具,在本地创建app.log文件,内容自定义,此处简单举例: start something run stop all 执行如下命令测试: curl -iv {APIG触发器URL}
从OBS桶中下载文件 场景描述 本章节以Python 2.7为例,指导您通过API创建FunctionGraph函数和Timer触发器,实现定时从OBS桶中下载文件。 API的调用方法请参见如何调用API。 前提条件 已在OBS服务中上传文件,并记录文件名、文件所在的OBS桶名,以及OBS地址的链接。
执行shell命令 上传函数压缩包到OBS 图2 上传函数压缩包到OBS 步骤显示名称:上传函数压缩包到OBS 构建产物路径:输入helloworld/code/helloworld.zip 桶名:选择一个私有桶存储函数代码zip包 OBS存储目录:function 上传部署包到软件发布库
Yaml文件 字段解析 表1 参数说明 参数 必填 类型 参数描述 region True Enum 地域 function True Struct 函数 triggers False Struct 触发器 Yaml完整配置 华为云函数工作流(FunctionGraph)组件的Yaml字段如下:
应用场景 端侧文件上传云服务器是Web和App应用的一类场景,例如服务运行日志的上报,Web应用图片上传等,函数可作为后端,结合APIG提供通用的API处理这类场景。本章节以NodeJS和Python语言为例,指导用户如何开发后端解析函数,获取上传的文件。 约束与限制 单次请求上传文件大小不超过6MB。
创建函数及添加事件源之前,需要创建两个OBS桶,分别用来保存用户上传的文件和加/解密后输出的文件。 OBS桶创建以后,需要创建委托,给FunctionGraph函数赋权,确保FunctionGraph函数能够访问到OBS资源,本指导以加密文件为例: 创建OBS桶 上传文件的源桶、输出文件的目标桶和函数必须处于同一个区域下。
一:购买ECS服务器中使用的VPC和子网,其余参数保持默认,单击“保存”。 图7 网络配置 在“设置”页签的左侧导航栏中,单击“磁盘挂载 > 添加挂载”,配置完成后,单击“确定”。 文件系统来源:选择“ECS”。 云服务器名称:选择步骤一:购买ECS服务器创建的云服务器。 共享目
请选择步骤一:购买ECS服务器中使用的VPC和子网,单击“保存”。 图7 网络配置 在“设置”页签的左侧导航栏中,单击“磁盘挂载 > 添加挂载”,配置完成后单击“确定”。 文件系统来源:选择“ECS”。 云服务器名称:选择中步骤一:购买ECS服务器创建的云服务器。 共享目录路径:
函数工作流FunctionGraph 区域:北京四 计费模式:按需计费 父主题: 使用FunctionGraph函数实现通过API方式上传文件
客户端上传文件到OBS,触发FunctionGraph函数,在上传数据后立即进行处理。可以使用FunctionGraph实时创建图像缩略图、转换视频编码、进行数据文件汇聚、筛选等。 其优势有: 灵活扩展,业务爆发时可以自动调度资源运行更多函数实例以满足处理需求。 事件触发,通过上传文件到OBS,触发FunctionGraph函数进行文件处理。