检测到您已登录华为云国际站账号,为了您更好的体验,建议您访问国际站服务网站 https://www.huaweicloud.com/intl/zh-cn
不再显示此消息
性能更优的代码。 用户函数代码更新时,系统能够保证用户函数的平滑升级,规避应用层初始化冷启动带来的性能损耗。新的函数实例启动后能够自动执行用户的初始化逻辑,在初始化完成后再处理请求。 在应用负载上升,需要增加更多函数实例时,系统能够识别函数应用层初始化的开销,更准确的计算资源伸
KA)触发器,以实现FunctionGraph对Kafka实例中指定Topic的新消息进行定期轮询。FunctionGraph会将轮询得到的消息作为参数,用于调用相应函数。 分布式消息服务Kafka版与开源Kafka的差异说明,请参见Kafka与开源Kafka的差异。 约束与限制
性能更优的代码。 用户函数代码更新时,系统能够保证用户函数的平滑升级,规避应用层初始化冷启动带来的性能损耗。新的函数实例启动后能够自动执行用户的初始化逻辑,在初始化完成后再处理请求。 在应用负载上升,需要增加更多函数实例时,系统能够识别函数应用层初始化的开销,更准确的计算资源伸
查看FunctionGraph的监控数据 FunctionGraph函数实现了与云监控服务的对接,用户无需任何配置,即可查询函数监控信息。 查看函数监控信息 FunctionGraph会统计函数的运行时指标,显示的指标是函数运行时活动的聚合视图。要查看不同函数版本的指标,可在查看指标前切
以curl工具为例(curl -F的方式主要用的是linux环境),执行如下命令测试: curl -iv {APIG触发器URL} -F upload=@/{本地文件路径}/app.log 图1 示例 以postman工具为例,配置如下参数,配置完成后单击“发送”。 图2 示例 参数名:选择“upload”。
进阶使用:通过挂载同一SFS文件系统实现多用户资源共享 应用场景 模型文件普遍占用大量内存,在多用户使用场景下,每个用户复制一份模型文件会导致不必要的存储空间浪费。通过将不同用户的应用挂载到同一SFS文件系统下,能够满足多人共享模型文件资源的需求,同时为了避免不同用户使用期间的推理结果相互影响,可以在Stable
进阶使用:使用ECS作为NFS服务器实现多用户资源隔离 应用场景 FunctionGraph的函数除了支持挂载弹性文件系统SFS外,也支持挂载ECS服务器共享出的NFS共享路径。在多用户使用场景下,使用ECS能够有效地进行多用户的资源管理,通过配置特定的权限,满足用户之间需要强隔离的使用需求。 前提条件
pipe(busboy); } 配置函数依赖 制作依赖包。代码中选择busboy库解析上传的文件,需要生成Node.js14.18版本对应的依赖包busboy.zip。如果您使用Node.js语言其他版本,请制作对应版本的依赖包,具体请参考制作依赖包。 创建依赖包。在左侧导航栏“函数 > 依赖包
进阶使用:使用ECS作为NFS服务器实现多用户资源隔离 应用场景 FunctionGraph的函数除了支持挂载弹性文件系统SFS外,也支持挂载ECS服务器共享出的NFS共享路径。在多用户使用场景下,使用ECS能够有效地进行多用户的资源管理,通过配置特定的权限,满足用户之间需要强隔离的使用需求。 前提条件
与其他服务的关系 FunctionGraph服务与以下云服务的对接,实现相关功能,如表1所示。 表1 对接服务 服务名称 实现功能 消息通知服务(SMN) 构建FunctionGraph函数来处理SMN的通知,相关内容请参考消息通知服务用户指南。 API网关(API Gateway)
函数工作流提供了按量和预留两种类型的实例。 按量实例是由函数工作流根据用户使用函数的实际情况来创建和释放,当函数工作流收到函数的调用请求时,自动为此请求分配执行环境。 预留实例是将函数实例的创建和释放交由用户管理,当您为某一函数创建了预留实例,函数工作流收到此函数的调用请求时,会优先将请求转发给您的预留实例
务LTS实现日志云端处理并转储消息到LTS的功能。 场景介绍 通过云日志服务LTS,快速完成ECS等服务器的任务运行日志的采集、加工和转换。 通过函数工作流服务中的函数创建LTS触发器获取日志数据,经由自定义函数对日志中的关键信息进行分析和处理,把过滤后的日志转存到另外的日志流中,如图1所示。
夹目录,如图1所示。 图1 文件 在展开的下拉菜单中选择“新建文件”,可以新建文件,并命名,如图2所示。 图2 新建文件 在展开的下拉菜单中选择“新建模板”,可以选择模板在线创建函数,如图3所示。 图3 新建模板 选择需要的模板,创建在线函数,并命名,如图4所示。 图4 创建文件
单击helloworld事件的“测试”,执行后,在右侧查看执行结果,执行结果如下图。 图1 执行结果 “函数返回”显示函数的返回结果。 “日志”部分显示函数执行过程中生成的日志。 “执行摘要”部分显示“日志”中的关键信息。 此页面最多显示2K日志,了解函数更多日志信息,请参考配置和查看函数的调用日志。
FunctionGraph支持的触发事件 FunctionGraph支持的触发事件 表1列出了支持触发FunctionGraph函数的云服务,可以将这些云服务配置为FunctionGraph函数的事件源,即配置函数的触发器。在配置事件源映射后,这些事件源在检测到相应事件时将自动调用FunctionGraph函数。
创建函数工程:在本地进行编码实现函数功能。 上传工程到OBS桶:将代码文件压缩为zip格式并上传到已创建的OBS桶中,记录代码文件的OBS链接。 创建函数:调用API通过OBS链接创建函数。 步骤1:创建函数工程 编写打印helloworld的代码。 打开文本编辑器,编写he
管理函数的触发器 函数触发器列表 进入函数工作流控制台,左侧导航栏选择“函数 > 触发器列表”,如图1所示,即可查看创建过的所有触发器,触发器类型页签会优先展示用户当前使用的触发器。 单击“所属函数”列下的函数链接,可跳转至函数详情页对触发器进行停用、启用或删除操作。 图1 触发器展示
新增删除指定的依赖包接口。 新增获取指定依赖包接口。 新增更新指定依赖包接口。 新增获取指定函数的测试事件列表接口。 新增创建测试事件接口。 新增删除指定测试事件接口。 新增获取测试事件详细信息接口。 新增更新测试事件详细信息接口。 新增查询租户配额接口。 新增获取指定时间段的函数运行指标接口。
配置函数的版本 函数在开发、测试、生产过程中,可以发布一个或多个版本,实现对函数代码的管理。版本相当于函数的快照,可对应代码里的Tag,每个函数版本都会有对应的函数代码、配置等。 函数版本发布后,您可以根据实际需要修改版本配置信息,但版本的代码无法更新,以保证版本的稳定性和可追溯性。
MetaERP业务场景进行微服务Serverless化改造,如图1所示,将低频使用但资源占用大的微服务逻辑,拆分成独立函数,常驻实例缩容到0;剩余微服务逻辑以Spring兼容方式进行函数化,实现函数化后的微服务快速冷启动和弹性,常驻实例减半。 图1 MFA Serverless改造前后架构 案例价值点