检测到您已登录华为云国际站账号,为了您更好的体验,建议您访问国际站服务网站 https://www.huaweicloud.com/intl/zh-cn
不再显示此消息
版本管理 概述 在函数从开发、测试、生产过程中,可以发布一个或多个版本,实现对函数代码的管理。对于发布的每个版本的函数、环境变量会另存为相应版本的快照,函数代码发布后,您可以根据实际需要修改版本配置信息。 函数创建以后,默认版本为latest版本,每个函数都有一个latest版本
使用NET Core CLI C#新增json序列化和反序列化接口,并提供HC.Serverless.Function.Common.JsonSerializer.dll 。 提供的接口如下: T Deserialize<T>(Stream ins):反序列化值传递到Function处理程序的对象中。
如何获取Token? 调用接口时,可以使用Token进行认证鉴权,可以通过IAM标准接口获取Token,示例如下。 获取华南区的Token示例命令如下。 curl -k -i -X POST https://iam.cn-south-1.myhuaweicloud.com/v3/auth/tokens
案例概述 场景介绍 MetaERP业务场景进行微服务Serverless化改造,如图1所示,将低频使用但资源占用大的微服务逻辑,拆分成独立函数,常驻实例缩容到0;剩余微服务逻辑以Spring兼容方式进行函数化,实现函数化后的微服务快速冷启动和弹性,常驻实例减半。 图1 MFA Serverless改造前后架构
开发事件函数 函数定义 函数有明确的接口定义,如下所示: func Handler (payload []byte, ctx context.RuntimeContext) 入口函数名(Handler):入口函数名称。 执行事件体(payload): 函数执行界面由用户输入的执行事件参数,
怎样获取在函数运行过程中实际使用了多少内存? 函数调用的返回信息中会包含最大内存消耗等信息,请参考开发指南中的SDK接口。也可以在执行结果界面查看。 父主题: 函数执行
创建EG触发器(云服务事件源) 创建EventGrid触发器 登录函数工作流控制台,在左侧的导航栏选择“函数 > 函数列表”。 选择待配置的函数,单击进入函数详情页。 选择“设置 > 触发器”,单击“创建触发器”,弹出“创建触发器”对话框,本章节以创建对象存储OBS为例。 图1 创建触发器
返回结果 状态码 请求发送以后,您会收到响应,包含状态码、响应消息头和消息体。 状态码是一组从1xx到5xx的数字代码,状态码表示了请求响应的状态,完整的状态码列表请参见状态码。 对于获取用户Token接口,如果调用后返回状态码为“201”,则表示请求成功。 响应消息头 对应请求
创建EG触发器(OBS应用事件源) 前提条件 已创建OBS存储桶,此处以eventbucket桶为例。创建过程请参见创建存储桶。 创建EventGrid触发器 登录函数工作流控制台,在左侧的导航栏选择“函数 > 函数列表”。 选择待配置的函数,单击进入函数详情页。 选择“设置 >
使用LTS触发器 关于定时触发器事件源具体介绍请参见支持的事件源。 前提条件 已经创建函数,创建过程请参见创建函数。 已经创建LTS FullAccess权限的委托,创建过程请参见配置委托权限。 已经创建日志组,此处以LogGroup1为例,创建过程请参见创建日志组。 已经创建日
创建EG触发器(RocketMQ自定义事件源) 前提条件 进行操作之前,需要做好以下准备: 已经创建函数并开启VPC,创建过程请参见创建函数和配置VPC网络。 已经创建EG事件通道,创建过程请参见创建eg事件通道。 已经创建RocketMQ实例,创建过程请参见购买RcoketMQ实例。
处理数据 处理模拟数据步骤如下。 用户进入DISDemo函数详情页,选择“dis-test”测试事件,单击“测试”,测试函数,如图1所示。 图1 配置测试事件 函数执行成功后,部分函数日志如图2所示,全部的日志信息,可以到“日志”页签查询。 图2 函数执行结果 父主题: 使用函数处理DIS数据
使用DDS触发器 本节介绍创建DDS触发器,供用户了解DDS触发器的使用方法。 使用DDS触发器,每次更新数据库中的表时,都可以触发FunctionGraph函数以执行额外的工作,关于DDS触发器事件源具体介绍请参见支持的事件源。 前提条件 进行操作之前,需要做好以下准备。 已经创建函数,创建过程请参见创建函数。
使用GeminiDB Mongo触发器 本节介绍创建GeminiDB Mongo触发器,供用户了解GeminiDB Mongo触发器的使用方法。 使用GeminiDB Mongo触发器,每次更新数据库中的表时,都可以触发FunctionGraph函数以执行额外的工作,关于GeminiDB
使用开源Kafka触发器 本节介绍创建开源Kafka(OPENSOURCEKAFKA)触发器,供用户了解开源Kafka触发器的使用方法。 使用开源Kafka触发器后,FunctionGraph会定期轮询开源Kafka指定Topic下的新消息,FunctionGraph将轮询得到的消息作为参数传递来调用函数。
使用Kafka触发器 本节介绍创建Kafka触发器,供用户了解Kafka触发器的使用方法。 使用Kafka触发器后,FunctionGraph会定期轮询Kafka实例指定Topic下的新消息,FunctionGraph将轮询得到的消息作为参数传递来调用函数,关于Kafka触发器的事件源介绍请参见支持的事件源。
使用CTS触发器 关于CTS触发器事件源具体介绍请参见支持的事件源。 前提条件 已经在统一身份认证创建委托,创建过程请参见配置委托权限。 创建CTS触发器 登录函数工作流控制台,在左侧的导航栏选择“函数 > 函数列表”。 单击右上方的“创建函数”,进入“创建函数”页面。 设置以下函数信息。
如何获取函数代码? 登录函数工作流控制台,单击函数名称进入函数详情页,单击右上方操作栏下的“导出函数”,继续单击“导出函数代码”。 通过导出函数API接口获取函数代码。 父主题: 通用问题
使用RabbitMQ触发器 本节介绍创建RabbitMQ触发器,供用户了解RabbitMQ触发器的使用方法(当前只支持fanout路由模式)。使用RabbitMQ触发器后,FunctionGraph会定期轮询RabbitMQ实例指定交换机绑定的队列下的新消息,FunctionGr
构建程序 通过Web托管方式改造微服务。改造过程中,如果微服务是基于spring框架,则需要使用FunctionGraph提供的SDK,即在pom.xml文件中添加步骤1中依赖。此时,您只需修改配置以及打包方式即可将微服务改造成serverless函数。具体操作步骤如下: 配置微服务依赖。