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