检测到您已登录华为云国际站账号,为了您更好的体验,建议您访问国际站服务网站 https://www.huaweicloud.com/intl/zh-cn
不再显示此消息
端侧文件上传云服务器是Web和App应用的一类场景,例如服务运行日志的上报,Web应用图片上传等,函数可作为后端,结合APIG提供通用的API处理这类场景。本章节以NodeJS和Python语言为例,指导用户如何开发后端解析函数,获取上传的文件。 约束与限制 单次请求上传文件大小不超过6MB。
ng框架的微服务需要剥离spring才能将微服务改造成serverless函数。 新建一个全新的maven工程,如图13所示。 图13 新建maven工程 业务代码迁移。 将原项目代码迁移至新项目,文件目录与原项目相同,删除使用的spring框架自动注入的标签。自动注入的类,需要用户自己创建对象。新创建的pom
上传程序包 函数设置中,函数执行入口中的index与步骤创建函数工程中创建的函数文件名保持一致,通过该名称找到FunctionGraph函数所在文件。 函数执行入口中的handler为函数名,与步骤创建函数工程中创建的index.js文件中的函数名保持一致。 在函数工作流控制台左侧导航栏选择“函数
响应码 ServiceType 事件触发的服务名称 ResourceType 事件触发的资源类型 ResourceName 事件触发的资源名称 ResourceId 事件触发资源的唯一标识 TraceName 事件名称 TraceType 事件触发的方式(如ConsoleAction:代表前台操作)
停止计费 对于不使用的函数或函数流请您及时删除,避免后续继续产生费用。 通过账单查找函数工作流资源并停止计费 登录管理控制台,在顶部菜单栏中选择“费用与成本 > 费用账单”。 图1 费用账单 选择“流水和明细账单 > 明细账单”,在如下图2所示,在“资源名称/ID”中复制“.”符号后面的内容。
假如函数工程文件保存在“~/Code/”文件夹下,在打包的时候务必进入Code文件夹下选中所有工程文件进行打包,这样做的目的是:入口函数是程序执行的入口,确保解压后,入口函数所在的文件位于根目录。 如果函数工程引入了第三方依赖,可以将第三方依赖打成ZIP包,在函数代码界面设置外部依赖包;也可以将第三方依赖和函数工程文件一起打包。
创新。 高弹性 根据请求的并发数量自动调度资源运行函数,实现透明、准确和实时的伸缩,应付业务峰值的访问。 用户无需关心峰值和空闲时段的资源需要申请多少资源,系统根据请求的数量自动扩容/缩容。自动负载均衡将请求分发到函数运行实例。 同时系统会根据流量负载的模式来智能预热实例,以缓解冷启动对业务的影响。
由于创建HelloWorld函数的时候没有设置委托,所以需要先修改函数委托。 登录函数工作流控制台,在左侧的导航栏选择“函数 > 函数列表”。 选择待配置的函数,单击进入函数详情页。 在“设置 > 权限”页签,修改函数委托,将委托修改为配置委托权限创建的serverless-trust委托。
runtime加载用户函数文件失败打印的日志 系统错误 内部错误。 调用超时 函数调用时间超过配置的“执行超时时间”打印的日志。 内存超限 函数内存大小超过配置的“内存”大小打印的日志。 磁盘超限 磁盘超出限制大小打印的日志。 代码异常 代码出现异常情况打印的日志。 支持的时间条件:最近1小时、最近1天、最近3天及自定义。
冷启动延时的影响,满足实时推理业务低延迟响应的要求,可以通过配置预留GPU实例来实现。更多关于预留模式的信息,请参见预留实例管理。 服务质量优先,服务成本次优 预留GPU实例的计费周期不同于按量GPU实例,预留GPU实例是以实例存活生命周期进行计费,而不考虑实例的活跃与闲置(不按
0环境中进行。使用其他系统打包可能会因为底层依赖库的原因,运行出问题,比如找不到动态链接库。 如果安装的依赖模块需要添加依赖库,请将依赖库归档到zip依赖包文件中,例如,添加.dll、.so、.a等依赖库。 请参考依赖包管理,了解更多。 为Nodejs函数制作依赖包 需要先保证环境中已经安装了对应版本的Nodejs。
假如函数工程文件保存在“~/Code/”文件夹下,在打包的时候务必进入Code文件夹下选中所有工程文件进行打包,这样做的目的是:入口函数是程序执行的入口,确保解压后,入口函数所在的文件位于根目录。 如果函数工程引入了第三方依赖,可以将第三方依赖打成ZIP包,在函数代码界面设置外部依赖包;也可以将第三方依赖和函数工程文件一起打包。
返回结果 状态码 请求发送以后,您会收到响应,包含状态码、响应消息头和消息体。 状态码是一组从1xx到5xx的数字代码,状态码表示了请求响应的状态,完整的状态码列表请参见状态码。 对于获取用户Token接口,如果调用后返回状态码为“201”,则表示请求成功。 响应消息头 对应请求
在离线异步应用场景中,工作负载具有以下一个或多个特征: 执行时间长 业务的处理耗时一般在分钟~小时级,Response Time不敏感。 提交后立即返回 在触发调用后立即得到返回,从而不因长耗时处理阻塞业务主逻辑的执行。 实时感知任务状态 无 并行处理 离线GPU任务需要处理大量数据
图2 选择权限 单击“下一步”,请根据业务需要选择权限的作用范围。 构建程序 创建功能函数。 创建定时开启或者关闭华为公有云虚拟机的函数,上传定时开启华为公有云虚拟机的程序包或者定时关闭华为公有云虚拟机的程序包,并选择创建的委托EcsOperation。创建过程请参考创建函数。 运行时语言选择“Python3
} else { fmt.Println(err) } } 更多编程语言的SDK代码示例,请参见API Explorer的代码示例页签,可生成自动对应的SDK代码示例。 状态码 状态码 描述 200 delete application successfully
上传程序包 函数执行入口中的index与步骤定义FunctionGraph函数的文件名保持一致,通过该名称找到FunctionGraph函数所在文件。 函数执行入口中的handler为函数名,与步骤定义FunctionGraph函数中创建的index.php文件中的函数名保持一致。 函
对于获取用户Token接口,您可以从接口的请求部分看到所需的请求参数及参数说明。将消息体加入后的请求如下所示,加粗的斜体字段需要根据实际值填写,其中username为用户名,domainname为用户所属的账号名称,********为用户登录密码,xxxxxxxxxxxxxxxxxx为project的名称,可以从地区和终端节点中获取。
essFunctionGraph”委托关系,CDN将有权限调用您函数工作流中的函数。 请勿删除CDN与FunctionGraph的委托关系,否则会导致CDN无法调用FunctionGraph中的函数。 操作步骤 登录函数工作流控制台,在左侧菜单栏中选择“函数模板”。 右上角搜索框
减少总请求处理时长,节省费用:单实例单并发下,多个请求的总处理时长为每个请求的处理时长相加。单实例多并发下,同一个实例对并发的多个请求的计费时间为,从第一个请求开始处理计时,到最后一个并发的请求处理结束计一次时长费用。 单实例单并发与单实例多并发的对比 当一个函数执行需要花费5秒,若配置为单