检测到您已登录华为云国际站账号,为了您更好的体验,建议您访问国际站服务网站 https://www.huaweicloud.com/intl/zh-cn
不再显示此消息
案例概述 场景介绍 MetaERP业务场景进行微服务Serverless化改造,如图1所示,将低频使用但资源占用大的微服务逻辑,拆分成独立函数,常驻实例缩容到0;剩余微服务逻辑以Spring兼容方式进行函数化,实现函数化后的微服务快速冷启动和弹性,常驻实例减半。 图1 MFA Serverless改造前后架构
InitializerHandler: "" //函数初始化入口 InitializerTimeout: 0 //函数初始化超时时间 EnterpriseProjectId: "0" //企业项目 FuncType: v2 URN: "" //函数URN,函数下载后生成
网关服务(APIG) 模拟APIG事件,触发函数。 API 网关服务(APIG专享版) 模拟APIG(专享版)事件,触发函数。 云审计服务(CTS) 模拟CTS事件,触发函数。 文档数据库服务(DDS) 模拟DDS事件,触发函数。 云数据库 GeminiDB Mongo 模拟GeminiDB
"strategy_config": { "concurrency": -1 }, "StrategyConfig": {}, "enterprise_project_id": "0" } 父主题: 应用示例
AgencyName: &agencyNameCreateFunctionAppRequestBody, EnterpriseProjectId: &enterpriseProjectIdCreateFunctionAppRequestBody, Description:
处理数据 处理模拟数据步骤如下。 用户进入DISDemo函数详情页,选择“dis-test”测试事件,单击“测试”,测试函数,如图1所示。 图1 配置测试事件 函数执行成功后,部分函数日志如图2所示,全部的日志信息,可以到“日志”页签查询。 图2 函数执行结果 父主题: 使用Fu
onGraph”,如图5所示。 图5 FunctionGraph 在“Location”栏中选择工程的路径 ,在“Project Interpreter: New Virtualenv environment”中选择使用python的版本。如图6所示。 图6 选择版本 在“More
"strategy_config": { "concurrency": -1 }, "StrategyConfig": {}, "enterprise_project_id": "0" } 记录函数的URN,即响应示例中的“func_urn”信息。 步骤2:修改函数配置信息中的OBS地址、OBS桶名和文件名
扩展函数的存储空间 FuncitonGraph提供了磁盘挂载功能,通过挂载文件系统可为函数带来如下优势: 相比于临时存储空间/tmp,可以极大的扩展函数的执行存储空间。 多个函数之间可以挂载同一个文件系统,共享访问已经配置好的文件系统。 利用ECS已有的存储能力,可实现计算资源的动态扩展。
添加事件源 函数创建以后,可以为函数添加事件源,本例通过配置DIS测试事件,模拟DIS输入数据,步骤如下。 用户进入DISDemo函数详情页,在“代码”页签下,选择配置测试事件,如图1所示,弹出“配置测试事件页”。 图1 配置测试事件 在“配置测试事件页”,输入配置信息,如图2所示。
Serverless Devs 全局参数 表1 Serverless Devs全局参数介绍 参数全称 参数缩写 默认取值 参数含义 备注 template t s.yaml/s.yml 指定资源描述文件 - access a yaml中所指定的access信息/default 指定本次部署时的密钥信息
处理图片 图片上传至your-bucket-input桶,使用工具模拟客户端触发函数流运行,将上传图片旋转180°,并以流数据返回给客户端。 上传图片 登录对象存储服务控制台,进入your-bucket-input桶对象界面,上传image.jpeg图片如图1,上传完成后如图2所示。
limitListEnterpriseResourceRequestBody:= "5" withoutAnyTagListEnterpriseResourceRequestBody:= true request.Body = &model.ListEnterpriseResourceRequestBody{
Serverless Devs 概览 密钥配置文档 指令使用方法 华为云函数工作流(FunctionGraph)Yaml规范 Serverless Devs 全局参数 父主题: 开发工具
Offset = &offsetRequest enterpriseProjectRequest:= "<enterprise_project>" request.EnterpriseProject = &enterpriseProjectRequest modeRequest:=
Serverless Framework 使用指南 CLI参考 事件列表 父主题: 开发工具
version publish命令 version publish命令,是用于发布版本的命令。 当执行命令version publish -h/version publish --help时,可以获取帮助文档。 当前命令还支持部分全局参数(例如-a/--access, --debug等),详情可参考
授权项:自定义策略中支持的Action,在自定义策略中的Action中写入授权项,可以实现授权项对应的权限功能。 IAM项目(Project)/企业项目(Enterprise Project):自定义策略的授权范围,包括IAM项目与企业项目。授权范围如果同时支持IAM项目和企业项目,表示此授权项对应的自
js,初始化的入口函数名为pre_stop_handler。 pre_stop_timeout Integer 初始化超时时间,超时函数将被强行停止,范围1~90秒。 enterprise_project_id String 企业项目ID,在企业用户创建函数时必填。 long_time Boolean 是否允许进行长时间超时设置。
版本 version Version命令概览 version list命令 version publish命令 父主题: 指令使用方法