检测到您已登录华为云国际站账号,为了您更好的体验,建议您访问国际站服务网站 https://www.huaweicloud.com/intl/zh-cn
不再显示此消息
准备 该场景涉及微服务与后端服务的调用,因此需要提前准备好对应的后端服务。用户可以使用自己搭建的后端服务,也可以使用华为云提供的云服务。 若后端服务需要通过虚拟私有云(VPC)访问,函数需要进行额外配置,若可以通过公网访问后端服务,可以跳过以下步骤2和步骤3。 创建Java函数(
案例概述 场景介绍 MetaERP业务场景进行微服务Serverless化改造,如图1所示,将低频使用但资源占用大的微服务逻辑,拆分成独立函数,常驻实例缩容到0;剩余微服务逻辑以Spring兼容方式进行函数化,实现函数化后的微服务快速冷启动和弹性,常驻实例减半。 图1 MFA Serverless改造前后架构
通过Web托管方式改造微服务。改造过程中,如果微服务是基于spring框架,则需要使用FunctionGraph提供的SDK,即在pom.xml文件中添加步骤1中依赖。此时,您只需修改配置以及打包方式即可将微服务改造成serverless函数。具体操作步骤如下: 配置微服务依赖。 在项目工程的pom
创建后可以获得一个调用URL,通过这个URL进行函数的调用,如图2所示。 图2 请求路径 父主题: 使用FunctionGraph函数对MFA微服务进行Serverless化改造
output = 'Hello message: ' + json.dumps(event,ensure_ascii=False) return output 父主题: 配置函数
请求url为添加事件源创建的APIG触发器地址。 需要在headers里配置requestPath,值为图1中的@Path(可能会包含一些服务前缀,对应微服务改造之前的请求Path即可),如图2所示。 图2 requestPath配置 测试独立函数。 统一使用POST请求。 请求url为添加事件源创建的APIG触发器地址。
max_connections=50, decode_responses=True) return client def initializer(context): global redis_client redis_client
在当前工作目录中从GitHub URL安装服务,如下: serverless install --url https://github.com/some/service 选项 --url或-u:GitHub的服务URL,必填。 --name或-n:服务名称。 示例 从GitHub URL安装服务 serverless
图1 创建触发器 配置以下参数。 表1 APIG触发器参数说明 参数 说明 取值样例 触发器类型 必选参数。 选择“API网关服务(APIG)”。 API网关服务(APIG) API名称 必选参数。 APIG触发器的名称。支持汉字,英文,数字,下划线,且只能以英文和汉字开头,3-64字符。
信息 默认情况下,serverless info命令用于显示有关已部署服务的信息。 serverless info命令 在服务目录中运行此命令即可显示已部署服务的信息。 serverless info 父主题: CLI参考
FunctionGraph函数通过域名访问APIG中注册的接口时,报域名无法解析? 函数服务目前只能解析pod域的域名或者在华为dns服务购买的域名。 父主题: 配置函数
body: JSON.stringify({ message: 'Hello!', }), }; return response; }; 父主题: 事件列表
案例概述 本案例展示了函数工作流服务+LTS云日志服务实现日志云端处理并推送告警消息的功能,并将告警日志投递至OBS桶中集中存储。 场景介绍 通过LTS云日志服务,快速完成ECS等服务器的任务运行日志采集、加工和转换。 通过函数工作流服务中的函数创建LTS触发器获取日志数据,经由
功能名称 功能描述 阶段 相关文档 1 支持挂载文件系统功能 文件系统挂载功能为函数提供了按需扩展的文件存储,可为多个函数、多个实例提供共享访问,函数可以像访问本地文件系统一样对这些共享文件进行读写等操作。 商用 挂载文件系统 2019年5月 序号 功能名称 功能描述 阶段 相关文档
添加事件源 选择准备中开通的CTS云审计服务,创建CTS触发器,CTS触发器配置如图1所示。 图1 创建CTS触发器 CTS云审计服务监听IAM服务中user资源类型,监听login、logout操作。 父主题: 使用FunctionGraph函数和CTS识别非法IP的登录登出操作
remove命令将从提供商中移除当前工作目录中定义的已部署服务。 serverless remove 该命令将仅移除已部署的服务及其所有资源,本地计算机上的代码将会保留。 示例 服务移除 serverless remove 此示例将移除当前工作目录中已部署的服务。 父主题: CLI参考
案例概述 场景介绍 通过CTS云审计服务,完成对公有云账户对各个云服务资源操作动作和结果的实时记录。 通过在函数工作流服务中创建CTS触发器获取订阅的资源操作信息,经由自定义函数对资源操作的信息进行分析和处理,产生告警日志。 SMN消息通知服务通过短信和邮件推送告警信息,通知业务人员进行处理。处理流程如图1所示。
=60, decode_responses=True) return Redis(connection_pool=pool) def initializer(context): global redis_client
} return new MemoryStream(ms.ToArray()); } } } 编译C#工程 手动在项目配置文件“MyCsharpPro.csproj”中添加FunctionGraph服务提供的dll引用(HinPath中填入dll的相对路径)。如下所示:
创建触发器 配置以下参数。 表1 APIG专享版触发器参数说明 参数 说明 取值样例 触发器类型 必选参数。 选择“API网关服务(APIG专享版)”。 API网关服务(APIG专享版) 实例 必选参数。 选择APIG实例。若无实例,可单击“创建实例”完成创建。 apig-fg API名称