检测到您已登录华为云国际站账号,为了您更好的体验,建议您访问国际站服务网站 https://www.huaweicloud.com/intl/zh-cn
不再显示此消息
函数+APIG:处理文件上传 方案概述 资源规划 操作流程
操作流程 本方案包含以下操作步骤 创建文件接收函数:接收上传的文件并解析内容。 端到端测试:绑定APIG触发器,测试文件上传及处理流程。 NodeJS语言方案 Python语言方案 父主题: 函数+APIG:处理文件上传
规格:可使用共享版APIG或者创建专享版APIG实例 函数工作流FunctionGraph 区域:北京四 计费模式:按需计费 父主题: 函数+APIG:处理文件上传
如何获取上传的文件? 以Python语言为例,如果用户用os.getcwd()查看当前目录的话,会发现当前目录是/opt/function,但实际代码是传到/opt/function/code里的。 有2种方法可以获取到上传的文件: 函数里使用cd命令切换路径到/opt/function/code
应用场景 端侧文件上传云服务器是Web和App应用的一类场景,例如服务运行日志的上报,Web应用图片上传等,函数可作为后端,结合APIG提供通用的API处理这类场景。本章节以NodeJS和Python语言为例,指导用户如何开发后端解析函数,获取上传的文件。 约束与限制 单次请求上传文件大小不超过6MB。
参数名:选择“upload”。 类型:选择“file”。 参数值:单击“Upload”,上传刚才创建好的app.log文件。 在upload-file-1函数详情页面的“监控”页签下,查看日志,可看到文件内容的打印。实际业务中,用户可根据需要修改代码保存数据到对象存储OBS、日志服务LTS等云服务或直接处理。
处理文件 当文件上传后更新至dew-bucket-input桶时,会生成事件,触发函数运行,将文件加解密,保存在dew-bucket-output中。 上传文件生成事件 登录对象存储服务控制台,进入dew-bucket-input桶对象界面,上传image.jpg文件,如图1所示。
依赖包”管理页面,单击“创建依赖包”,配置完成后单击“确定”。 依赖包名称:输入您自定义的依赖包名称,例如“busboy”。 代码上传方式:上传ZIP文件。 运行时:Node.js 14.18。 文件上传:添加制作完成的依赖包。 添加依赖包。进入upload-file-1函数详情页面,在“代码”页签最底部,
函数中如何读写文件? 函数工作目录权限说明 函数可以读取代码目录下的文件,函数工作目录在入口文件的上一级,例如用户上传了文件夹backend,需要读取与入口文件同级目录的文件test.conf,可以用相对路径“code/backend/test.conf”,或者使用全路径(相关目
Yaml文件 字段解析 表1 参数说明 参数 必填 类型 参数描述 region True Enum 地域 function True Struct 函数 triggers False Struct 触发器 Yaml完整配置 华为云函数工作流(FunctionGraph)组件的Yaml字段如下:
视频转码,上传的zip文件是否能支持反编译? 函数不支持反编译,需要用户反编译后上传上来。 父主题: 其他问题
客户端上传文件到OBS,触发FunctionGraph函数,在上传数据后立即进行处理。可以使用FunctionGraph实时创建图像缩略图、转换视频编码、进行数据文件汇聚、筛选等。 其优势有: 灵活扩展,业务爆发时可以自动调度资源运行更多函数实例以满足处理需求。 事件触发,通过上传文件到OBS,触发FunctionGraph函数进行文件处理。
在本地进行函数编码后,将代码文件上传到OBS桶,并使用OBS链接创建函数。步骤如下: 创建函数工程:在本地进行编码实现函数功能。 上传工程到OBS桶:将代码文件压缩为zip格式并上传到已创建的OBS桶中,记录代码文件的OBS链接。 创建函数:调用API通过OBS链接创建函数。 步骤1:创建函数工程
创建函数及添加事件源之前,需要创建两个OBS桶,分别用来保存用户上传的文件和加/解密后输出的文件。 OBS桶创建以后,需要创建委托,给FunctionGraph函数赋权,确保FunctionGraph函数能够访问到OBS资源,本指导以加密文件为例: 创建OBS桶 上传文件的源桶、输出文件的目标桶和函数必须处于同一个区域下。
兰察布一、华东-上海一。) 用户向其中一个桶上传文件。 触发函数执行,对文件加/解密。 函数将处理后的文件上传到指定桶中。 完成本教程后,您的公有云账户将存在以下资源: 2个OBS桶(上传需要处理的文件和存储处理后的文件) 一个为文件加/解密的函数 一个OBS应用事件源,用来关联函数和OBS桶
函数+DEW:加解密文件 案例描述 准备 构建程序 添加事件源 处理文件
创建OBS应用事件源 单击“确定”,完成触发器创建。 OBS应用事件源创建以后,当有文件上传或更新至dew-bucket-input桶时,生成事件,触发函数执行。 父主题: 函数+DEW:加解密文件
运行时语言:选择“Java8”。 进入fss_examples_dew函数详情页,配置如下信息。 在“代码”页签,代码选择“上传自JAR文件”,上传样例代码编译后的jar包,上传成功后单击“确定”。 在“设置 > 常规设置”页签,设置如下信息,完成后单击“保存”。 内存:选择“128” 执行超时时间:输入“3”
执行shell命令 上传函数压缩包到OBS 图2 上传函数压缩包到OBS 步骤显示名称:上传函数压缩包到OBS 构建产物路径:输入helloworld/code/helloworld.zip 桶名:选择一个私有桶存储函数代码zip包 OBS存储目录:function 上传部署包到软件发布库
从OBS桶中下载文件 场景描述 本章节以Python 2.7为例,指导您通过API创建FunctionGraph函数和Timer触发器,实现定时从OBS桶中下载文件。 API的调用方法请参见如何调用API。 前提条件 已在OBS服务中上传文件,并记录文件名、文件所在的OBS桶名,以及OBS地址的链接。