检测到您已登录华为云国际站账号,为了您更好的体验,建议您访问国际站服务网站 https://www.huaweicloud.com/intl/zh-cn
不再显示此消息
MetaERP业务场景进行微服务Serverless化改造,如图1所示,将低频使用但资源占用大的微服务逻辑,拆分成独立函数,常驻实例缩容到0;剩余微服务逻辑以Spring兼容方式进行函数化,实现函数化后的微服务快速冷启动和弹性,常驻实例减半。 图1 MFA Serverless改造前后架构
runtime加载用户函数文件失败打印的日志 系统错误 内部错误。 调用超时 函数调用时间超过配置的“执行超时时间”打印的日志。 内存超限 函数内存大小超过配置的“内存”大小打印的日志。 磁盘超限 磁盘超出限制大小打印的日志。 代码异常 代码出现异常情况打印的日志。 支持的时间条件:最近1小时、最近1天、最近3天及自定义。
参数类型 描述 project_id 是 String 租户项目 ID,获取方式请参见获取项目ID。 function_urn 是 String 函数的URN,详细解释见FunctionGraph函数模型的描述。 表2 Query参数 参数 是否必选 参数类型 描述 config 否
函数依赖包生成示例请参见制作函数的私有依赖包。 公共依赖 公共依赖是华为云为用户直接提供的依赖包,用户可以在函数界面直接导入相关依赖包实现自己代码的业务逻辑。 与私有依赖相比,公共依赖有如下优势: 公共依赖为用户提供了开箱即用的依赖生态,不需要用户进行繁琐的依赖包构建和上传,仅需在函数
json文件的名称为程序集的名称。 文件内容中的version:项目属性中的目标框架的版本号,2.0则为2.0.0 ,2.1则为2.1.0。 当目标框架为.NET Core2.0时,要注意生成*.deps.json文件中是否已引入Newtonsoft.Json。如果没有引入,则需要自己手动引入,如下所示:
函数工作流计费模式概述 函数工作流采用按需付费方式,无最低费用,即总费用 = 请求次数费用 + 计量时间费用+节点执行次数(函数流)费用+其他费用。 如您需要快速了解函数工作流服务不同计费模式的具体价格,请参见函数工作流价格详情。 父主题: 计费模式
} else { fmt.Println(err) } } 更多编程语言的SDK代码示例,请参见API Explorer的代码示例页签,可生成自动对应的SDK代码示例。 状态码 状态码 描述 200 ok 401 Unauthorized 鉴权失败。 403
租户项目 ID,获取方式请参见获取项目ID。 请求参数 表2 请求Header参数 参数 是否必选 参数类型 描述 X-Auth-Token 是 String 用户Token。 通过调用IAM服务获取用户Token接口获取(响应消息头中X-Subject-Token的值)。 表3 请求Body参数
使用API模式 通过Serverless应用中心和管理中台部署的Stable-Diffusion应用默认未开启API访问,您可以通过配置函数环境变量的方式开启,请参考配置环境变量为Stable-Diffusion函数配置如下环境变量并保存。 表1 环境变量 Key Value EXTRA_ARGS
FunctionGraph是什么 函数工作流(FunctionGraph)是一项基于事件驱动的函数托管计算服务。使用FunctionGraph函数,只需编写业务函数代码并设置运行的条件,无需配置和管理服务器等基础设施,函数以弹性、免运维、高可靠的方式运行。此外,按函数实际执行资源计费,不执行不产生费用。 您可以
概述 函数开发简介 函数支持的事件源 函数工程打包规范 在函数中引入动态链接库
选择要部署代码的区域。 说明: 不同区域的资源之间内网不互通。请就近选择靠近您业务的区域,可以降低网络时延、提高访问速度。 项目 默认与选择的区域一致。 函数名称 函数名称,命名规则如下: 可包含字母、数字、下划线和中划线,长度不超过60个字符。 以大/小写字母开头,以字母或数字结尾。
Cron表达式未设置时,默认以region所在时区运行。如果您的任务需要按照特定时区运行,可以通过CRON_TZ指定,例如在北京时间每个月一号的04:00触发函数执行,则可以使用CRON_TZ=Asia/Shanghai 0 0 4 1 * *。不同地域的时区表达式存在差异,请以实际情况为准。
启用WebUI认证 通过Serverless应用中心和管理中台部署的Stable-Diffusion应用为方便您快速体验,默认未开启WebUI认证。为了防止域名泄露导致您的函数被盗用,您可以通过配置函数环境变量的方式开启WebUI认证,请参考配置环境变量为Stable-Diffus
project_name String 租户的project name。 package String 函数所属的分组Package,用于用户针对函数的自定义分组。 runtime String FunctionGraph函数的执行环境 Python2.7: Python语言2.7版本。 Python3
不填写,则默认使用镜像中的Entrypoint/CMD。字符串数组,以逗号分开。 Args:容器的启动参数,例如"-args,value1"。该参数为可选参数,不填写,则默认使用镜像中的CMD。字符串数组,以逗号分开。 Working Dir:容器的工作目录,当前不支持创建和修
使用跨VPC访问能力时必须配置具备VPC管理权限的委托,创建委托请参考配置委托权限。 单个租户在一个项目下所有的函数最多能绑定4个不同的子网。(不区分VPC,此处的项目指在创建账号的时候分配的一个32位的唯一值project_id,且主账户和子账户的project_id相同。) 配置域名(可选)。
选择运行时语言。 描述 对于依赖包的描述信息,可以不填。 单击“确定”,完成依赖包的创建。默认首次创建的依赖包版本为“1”。 单击列表中的依赖包名称,进入版本历史界面,可以查看当前依赖包下的所有版本和版本相关信息。当前支持针对同一依赖包,进行不同版本的系统化管理。 单击“创建版本”,填写相关信息,可以创建新的依赖包版本。
什么是FunctionGraph FunctionGraph是一项基于事件驱动的函数托管计算服务。使用FunctionGraph函数,只需编写业务函数代码并设置运行的条件,无需配置和管理服务器等基础设施,函数以弹性、免运维、高可靠的方式运行。此外,按函数实际执行资源计费,不执行不产生费用。 函数使用流程如图1所示。
测试函数 测试托管方式改造函数,调用方法如图1所示。 图1 测试函数调用的方法 调用时,遵循原来的请求方法。 请求url为添加事件源创建的APIG触发器地址。 需要在headers里配置requestPath,值为图1中的@Path(可能会包含一些服务前缀,对应微服务改造之前的请求Path即可),如图2所示。