检测到您已登录华为云国际站账号,为了您更好的体验,建议您访问国际站服务网站 https://www.huaweicloud.com/intl/zh-cn
不再显示此消息
处理文件 当文件上传后更新至dew-bucket-input桶时,会生成事件,触发函数运行,将文件加解密,保存在dew-bucket-output中。 上传文件生成事件 登录对象存储服务控制台,进入dew-bucket-input桶对象界面,上传image.jpg文件,如图1所示。
文件系统/云服务器名称:选择创建的文件系统或者云服务器资源,注意函数配置的VPC和委托要有访问权限。 共享目录路径:如果选择ECS挂载需要配置远端共享目录,请参见ECS创建nfs共享目录。 函数访问路径:为本地文件系统挂载目录,不能是系统已存在目录。建议使用/mnt/ 下二级子目录,例如/mnt/test。
OOT环境变量对应的值)。如果需要写文件(如创建新文件或者下载文件等),可以在/tmp目录下进行或者使用函数提供的挂载文件系统功能。 若容器回收,文件的读写就会失效。 函数目前不支持持久化。 典型场景 需要对OBS上的文件进行处理,可以先把文件下载到/tmp目录。 函数运行过程中
作依赖包: 通过ecs控制台页面登录ecs机器(确保gcc、make工具安装完成),执行如下命令下载相关源码包。 wget 源码路径 若下载包为zip文件,执行如下命令进行解压: unzip xxx/xx.zip 若下载包为tar.gz文件,执行如下命令进行解压: tar -zxvf
、引入OBS文件等方式上传代码,函数工程的打包规范说明如表1所示。 表1 函数工程打包规范 编程语言 JAR包 ZIP包 OBS文件 Node.js 不支持该方式 假如函数工程文件保存在“~/Code/”文件夹下,在打包的时候务必进入Code文件夹下选中所有工程文件进行打包,这样
Yaml文件 字段解析 表1 参数说明 参数 必填 类型 参数描述 region True Enum 地域 function True Struct 函数 triggers False Struct 触发器 Yaml完整配置 华为云函数工作流(FunctionGraph)组件的Yaml字段如下:
py”,保存文件。 def printhello(): print 'Hello world!' 定义FunctionGraph函数。 打开文本编辑器,定义函数,代码如下,文件命名为“index.py”,保存文件(与“helloworld.py”保存在同一文件夹下)。 import
aph即可运行,无需其它的部署操作。 制作ZIP包的时候,单函数入口文件必须在根目录,保证解压后,直接出现函数执行入口文件,才能正常运行。 对于Go runtime,必须在编译之后打zip包,编译后的动态库文件名称必须与函数执行入口的插件名称保持一致,例如:动态库名称为testplugin
图1 创建工程 添加工程依赖 根据Java SDK下载提供的SDK地址,下载JavaRuntime SDK到本地开发环境解压,如图2所示。 图2 下载SDK解压 配置依赖 在工程目录下创建lib目录,将zip中的Runtime2.0.5.jar和代码所需要的三方依赖包拷贝到该目录
择的“区域”一致。 函数工作流控制台支持上传zip格式的代码包文件和jar格式(仅限Java)的代码文件。 制作zip代码包文件时,单函数执行入口文件必须在根目录,确保解压后直接出现函数的执行入口文件。 程序文件解压后的源代码大小不能超过1.5G,如需部署超大代码请提交工单联系客服处理。
图1 创建工程 添加工程依赖。 根据Java SDK下载提供的SDK地址,下载JavaRuntime SDK到本地开发环境解压,如图2所示。 图2 下载SDK解压 将zip中的Runtime-2.0.5.jar拷贝到本地目录,例如d:\\runtime中,在命令行窗口执行如下命令安装到本地的maven仓库中。
进阶使用:通过挂载同一SFS文件系统实现多用户资源共享 应用场景 模型文件普遍占用大量内存,在多用户使用场景下,每个用户复制一份模型文件会导致不必要的存储空间浪费。通过将不同用户的应用挂载到同一SFS文件系统下,能够满足多人共享模型文件资源的需求,同时为了避免不同用户使用期间的推理结果相互影响,可以在Stable
在华为云购买一台EulerOS的ECS弹性云服务器,请参见购买并登录Linux弹性云服务器。在基础配置环节选择公共镜像时,选择Huawei Cloud EulerOS操作系统和具体的镜像版本。 下载EulerOS镜像,在本地使用虚拟化软件搭建EulerOS系统的虚拟机。 为Python函数制作依赖包
示。 图4 创建文件 点击右键,选择“重命名”可以对文件和文件夹进行重命名,选择“删除”可以删除,如图5所示。 图5 文件重命名 在左侧“文件”下拉菜单中选择“新建文件夹”,新建文件夹并命名,如图1中所示。 点击右键,选择“新建文件”可以在该文件夹目录下新建文件,在该菜单栏中,可
s_cloudtable.zip)文件,解压缩目录如图8所示。使用Table Tester.jar替换DIS Test.jar,替换文件目录后如图9所示。打ZIP包,如图10所示,得到disdemo.zip文件。 图8 文件目录 图9 替换后文件目录 图10 打ZIP包 创建函数
使用FunctionGraph函数定时开关华为云ECS 应用场景 当您需要在特定时间打开或者关闭华为公有云虚拟机时,可以考虑通过函数服务调用华为云ECS接口,定时开关虚拟机。 开机节点:需要定时打开的虚拟机。 关机节点:需要定时关闭的虚拟机。 前提条件 根据实际业务,获取定时开启华为公有云虚拟机的程序包或者定时关闭华为公有云虚拟机的程序包。
已创建待挂载的ECS,具体操作请参见购买ECS。 创建ECS时请记录ECS所使用的VPC和子网信息。 已在ECS上创建NFS共享目录,具体操作请参考在ECS创建NFS共享目录。 已创建挂载ECS共享目录所需的相关委托,具体操作请参见配置函数的委托权限。 挂载SFS容量型文件系统 已创
方案概述 应用场景 端侧文件上传云服务器是Web和App应用的一类场景,例如服务运行日志的上报,Web应用图片上传等,函数可作为后端,结合APIG提供通用的API处理这类场景。本章节以NodeJS和Python语言为例,指导用户如何开发后端解析函数,获取上传的文件。 约束与限制 单次请求上传文件大小不超过6MB。
保存用户上传的文件和加/解密后输出的文件。 OBS桶创建以后,需要创建委托,给FunctionGraph函数赋权,确保FunctionGraph函数能够访问到OBS资源,本指导以加密文件为例: 创建OBS桶 上传文件的源桶、输出文件的目标桶和函数必须处于同一个区域下。 必须使用两
客户端上传文件到OBS,触发FunctionGraph函数,在上传数据后立即进行处理。可以使用FunctionGraph实时创建图像缩略图、转换视频编码、进行数据文件汇聚、筛选等。 其优势有: 灵活扩展,业务爆发时可以自动调度资源运行更多函数实例以满足处理需求。 事件触发,通过上传文件到