检测到您已登录华为云国际站账号,为了您更好的体验,建议您访问国际站服务网站 https://www.huaweicloud.com/intl/zh-cn
不再显示此消息
s服务的.zip文件。 在当前工作目录中创建名为my-huawei-service的新目录。 在此目录中解压文件。 如果根服务中存在serverless.yml,则将服务重命名为my-huawei-service。 从GitHub URL中的目录安装服务 serverless install
API 函数调用 函数配额 函数依赖包 函数测试事件 函数调用链 函数生命周期管理 函数版本别名 函数指标 函数日志 函数模板 函数预留实例 函数导入导出 函数触发器 函数流 函数异步配置 函数应用中心
rless化改造,如图1所示,将低频使用但资源占用大的微服务逻辑,拆分成独立函数,常驻实例缩容到0;剩余微服务逻辑以Spring兼容方式进行函数化,实现函数化后的微服务快速冷启动和弹性,常驻实例减半。 图1 MFA Serverless改造前后架构 案例价值点 改造前单个代码仓集
功能应用类实践 使用FunctionGraph函数和CTS识别非法IP的登录登出操作 使用FunctionGraph函数定时开关华为云ECS 使用FunctionGraph函数作为后端实现APIG的自定义认证能力 使用FunctionGraph部署AI绘画Stable Diffusion应用
xxx-xxx # 子网编号 concurrency: 10 # 单函数最大实例数 concurrentNum: 10 # 单实例最大并发数 codeType: zip # 函数代码类型
资源规划 表1 资源规划 产品 配置示例 API网关APIG 区域:北京四 规格:可使用共享版APIG或者创建专享版APIG实例 函数工作流FunctionGraph 区域:北京四 计费模式:按需计费 父主题: 使用FunctionGraph函数实现通过API方式上传文件
③API和云产品事件源触发函数执行 通过RESTful API或者云产品事件源触发函数执行,生成函数实例,实现业务功能。 ④弹性执行 函数在执行过程中,会根据请求量弹性扩容,支持请求峰值的执行,此过程用户无需配置,由FunctionGraph完成,并发数限制请参考约束与限制。 ⑤查看日志 F
取指定时间段的函数运行指标接口。 函数日志 获取指定函数的lts日志组日志流配置、开通lts日志上报功能。 函数预留实例 获取函数预留实例配置列表、修改函数预留实例数量。 函数导入导出 导入、导出函数。 函数触发器 包括创建、删除、更新触发器等接口。 函数流 查询、删除、创建、停止函数流等接口。
使用FunctionGraph函数对IoTDA中的设备坐标数据进行转换 使用FunctionGraph函数对OBS中的文件进行加解密 使用FunctionGraph函数识别LTS中的异常业务日志并存储到OBS 使用FunctionGraph函数对LTS中的日志进行实时过滤 使用Functi
onGraph函数时,报500错误 FunctionGraph函数对来自APIG调用的返回结果进行了封装,APIG触发器要求函数的返回结果中必须包含body(String)、statusCode(int)、headers(Map)和isBase64Encoded(boolean),才可以正确返回。
Deserialize<T>(Stream ins):反序列化值传递到Function处理程序的对象中。 Stream Serialize<T>(T value):序列化值传递到返回的响应负载中。 本例以Visual Studio 2017新建一个.NET Core2.0的“test”工程,
命令解析 当执行命令deploy -h/deploy --help时,可以获取帮助文档。 在该命令中,包括了两个子命令: deploy function命令 deploy trigger命令 参数解析 表1 参数说明 参数全称 参数缩写 Yaml模式下必填 参数含义 type -
使用相同名称的镜像更新镜像时,预留实例无法自动更新,会一直使用老镜像 建议使用非latest的镜像tag管理镜像更新,避免使用完全相同的镜像名。 父主题: 创建函数
Deploy命令概览 Deploy命令 deploy 命令是对函数资源进行部署的命令,即将本地在 Yaml文件 中声明的资源部署到线上。 命令解析 参数解析 操作案例 注意事项 deploy function命令 参数解析 操作案例 deploy trigger命令 操作案例 父主题:
为什么函数实际使用内存大于预估内存,甚至触发内存溢出OOM? 函数调用过程中,运行时会解析和缓存传入的event事件, 这部分操作会消耗额外的内存。 函数调用结束后,回收的内存首先会放入内部内存池中,并不一定归还给操作系统,导致内存偏高,在高并发场景下这种现象会更加明显。 父主题:
离的? 函数常规信息中的“应用”如何理解? 用户需要为函数的冷启动时间付费吗? 函数计费中的调用次数,是某一账号下在不同region的所有函数的调用次数总和吗? Python语言的函数从V1版本迁移到V2版本时需注意哪些兼容性问题? FunctionGraph函数支持哪些编程语言?
本示例将调用部署的函数,并在终端中输出调用的结果。 带数据的函数调用 serverless invoke --function functionName --data '{"name": "Bob"}' 此示例将使用提供的数据调用函数,并在终端中输出调用的结果。 带传递数据的函数调用
runtimeconfig.json文件的名称为程序集的名称。 文件内容中的version:项目属性中的目标框架的版本号,2.0则为2.0.0 ,2.1则为2.1.0。 当目标框架为.NET Core2.0时,要注意生成*.deps.json文件中是否已引入Newtonsoft.Json。如果没有引入,则需要自己手动引入,如下所示:
进阶使用:使用ECS作为NFS服务器实现多用户资源隔离 如需实现多用户使用场景下的资源隔离,FunctionGraph函数支持挂载ECS服务器作为文件系统来源,通过设置共享NFS路径可有效管理多用户模型资源,可通过以下操作实现: 购买ECS服务器 设置ECS下的NFS共享 在AI对话应用中挂载ECS 上传与使用自定义模型
函数执行入口中的handler为函数名,与步骤定义FunctionGraph函数中创建的index.py文件中的handler名称保持一致。 函数执行过程为:用户上传fss_examples_python2.7.zip保存在OBS中,触发函数后,解压缩zip文件,通过index匹配到Functi