检测到您已登录华为云国际站账号,为了您更好的体验,建议您访问国际站服务网站 https://www.huaweicloud.com/intl/zh-cn
不再显示此消息
MetaERP业务场景进行微服务Serverless化改造,如图1所示,将低频使用但资源占用大的微服务逻辑,拆分成独立函数,常驻实例缩容到0;剩余微服务逻辑以Spring兼容方式进行函数化,实现函数化后的微服务快速冷启动和弹性,常驻实例减半。 图1 MFA Serverless改造前后架构
remove trigger命令 remove trigger命令,是删除指定触发器的命令。 当执行命令remove trigger -h/remove trigger --help时,可以获取帮助文档。 参数解析 表1 参数说明 参数全称 参数缩写 Yaml模式下必填 Cli模式下必填 参数含义
depend_type为zip类型时必填,为文件流格式,需要base64编码zip文件。 上传的文件大小限制为40M,如超过40M,请通过OBS上传。 depend_link 否 String depend_type为obs类型时,依赖包在obs的存储地址。 depend_type 是 String 导入类型,目前支持obs和zip。
删除函数/版本 功能介绍 删除指定的函数或者特定的版本(不允许删除latest版本)。 如果URN中包含函数版本或者别名,则删除特定的函数版本或者别名指向的版本以及该版本关联的trigger。 如果URN中不包含版本或者别名,则删除整个函数,包含所有版本以及别名,触发器。 调用方法
约束与限制: 函数仅支持返回如下几种类型的值。 Null:函数返回的HTTP响应Body为空。 string:函数返回的HTTP响应Body内容为该字符串内容。 其他:函数会返回值作为对象进行json编码,并将编码后的内容作为HTTP响应的Body,同时设置响应的“Content-Type”头为“text/plain”。
请求协议、超时时间等配置,单击”确定”完成触发器创建,如图1所示。 图1 创建触发器 创建后可以获得一个调用URL,通过这个URL进行函数的调用,如图2所示。 图2 请求路径 父主题: 使用FunctionGraph函数对MFA微服务进行Serverless化改造
屏蔽了初始化函数的返回值,所以data中的数据是无效的,可以参考上文的示例设置为空。 SDK接口 Context类中提供了许多上下文方法供用户使用,其声明和功能如表1所示。 getToken()、getAccessKey()和getSecretKey()方法返回的内容包含敏感信息
owner String 依赖包拥有者,public标识为公共依赖包 link String 依赖包在obs的存储地址 runtime String FunctionGraph函数的执行环境 Python2.7: Python语言2.7版本。 Python3.6: Pyton语言3.6版本。Python3
区域:选择“华东-上海一”。 函数名称:输入您自定义的函数名称,此处以“Nextjs-app”为例。 其他参数保持默认即可。 函数创建完成后进入详情页面,选择“代码”页签,选择“上传自 > Zip文件”。 图1 上传zip文件 选择之前打包的“nextjs-func-code.zip”文件,然后单击“确定”。
17元/千次 + 0元 + 0元 =12.75元。 上述两个计费场景中涉及的函数执行时间、请求次数、内存大小、计费单价等仅供参考,具体请以实际为准。 根据以上“单位价格”计算出价格后,截取到“分”扣费,价格计算器上的金额如果遇小数点,则保留小数点后两位,第三位四舍五入。如遇四舍五入后不足¥0
性能更优的代码。 用户函数代码更新时,系统能够保证用户函数的平滑升级,规避应用层初始化冷启动带来的性能损耗。新的函数实例启动后能够自动执行用户的初始化逻辑,在初始化完成后再处理请求。 在应用负载上升,需要增加更多函数实例时,系统能够识别函数应用层初始化的开销,更准确的计算资源伸
"value"},可以根据需要修改。 登录安全实时分析 可以作为“登录安全实时分析”函数模板的输入。 图片分类 可以作为“实时图片分类(按图片内容)”等函数模板的输入。 图片鉴黄 可以作为“图片鉴黄”函数模板的输入。 语音识别 可以作为“语音识别”函数模板的输入。 单击“保存”,完成测试事件创建。 测试函数 函数创
remove function命令,是删除指定函数的命令。默认会把整个函数删除,包含所有的版本、别名以及触发器。 当执行命令remove function -h/remove function --help时,可以获取帮助文档。 参数解析 表1 参数说明 参数全称 参数缩写 Yaml模式下必填
本次查询可获取的依赖包的最大数目,默认为"400"。 请求参数 表3 请求Header参数 参数 是否必选 参数类型 描述 X-Auth-Token 是 String 用户Token。 通过调用IAM服务获取用户Token接口获取(响应消息头中X-Subject-Token的值)。 Content-Type
} else { fmt.Println(err) } } 更多编程语言的SDK代码示例,请参见API Explorer的代码示例页签,可生成自动对应的SDK代码示例。 状态码 状态码 描述 204 No Content 400 Bad Request
控制流:控制工作流的步骤间流转,以及步骤对应的 Serverless 函数的执行。确保步骤与步骤之间有序执行。 数据流:控制整个工作流的数据流转,通常来说上一个步骤的输出是下一个步骤的输入,比如上述图片处理工作流中,图片压缩的结果是打水印步骤的输入数据。 在普通的服务编排中,由于需
取(响应消息头中X-Subject-Token的值)。 Content-Type 是 String 消息体的类型(格式) 响应参数 状态码: 200 表3 响应Body参数 参数 参数类型 描述 func_urn String 函数的URN(Uniform Resource Name),唯一标识函数。
像类型函数的镜像配置。 枚举值: inline zip obs jar code_url 否 String 当code_type为obs时,该值为函数代码包在OBS上的地址,code_type为其他值时,该字段为空。 code_filename 否 String 函数的文件名,当
} else { fmt.Println(err) } } 更多编程语言的SDK代码示例,请参见API Explorer的代码示例页签,可生成自动对应的SDK代码示例。 状态码 状态码 描述 200 OK 400 Bad Request 请求错误。 401
配置函数流的EG服务组件 配置函数流的函数服务组件 配置函数流的子流程控制器组件 配置函数流的并行分支控制器组件 配置函数流的开始控制器组件 配置函数流的异常处理控制器组件 配置函数流的循环控制器组件 配置函数流的时间等待控制器组件 配置函数流的服务控制器组件 配置函数流的条件分支控制器组件