检测到您已登录华为云国际站账号,为了您更好的体验,建议您访问国际站服务网站 https://www.huaweicloud.com/intl/zh-cn
不再显示此消息
FunctionGraph最佳实践汇总 本文汇总了基于函数工作流服务(FunctionGraph)常见应用场景的操作实践,为每个实践提供详细的方案描述和操作指导,帮助您轻松构建基于函数工作流的业务。 数据处理类实践 表1 FunctionGraph数据处理类最佳实践 最佳实践 说明
产品优势 无服务器管理 自动运行用户代码,用户无需配置或管理服务器,专注于业务创新。 高弹性 根据请求的并发数量自动调度资源运行函数,实现透明、准确和实时的伸缩,应付业务峰值的访问。 用户无需关心峰值和空闲时段的资源需要申请多少资源,系统根据请求的数量自动扩容/缩容。自动负载均衡将请求分发到函数运行实例。
函数依赖包概述 函数依赖包简介 函数依赖包包含支持函数业务代码运行的公共库,您可以将业务代码所需的公共库封装成依赖包进行单独管理,便于多函数共享,同时也能有效缩减函数代码包在部署与更新过程中的体积。 FunctionGraph支持用户针对同一依赖包进行版本的迭代,即同一依赖包可拥有多个版本,便于系统化管理依赖包。
什么是FunctionGraph FunctionGraph是一项基于事件驱动的函数托管计算服务。使用FunctionGraph函数,只需编写业务函数代码并设置运行的条件,无需配置和管理服务器等基础设施,函数以弹性、免运维、高可靠的方式运行。此外,按函数实际执行资源计费,不执行不产生费用。
错误码 状态码 错误码 错误信息 描述 处理措施 400 FSS.0400 Invalid parameter. 无效参数 检查请求body体中参数 400 FSS.1001 Invalid query parameter. 无效的查询参数 检查查询参数 400 FSS.1002
FunctionGraph业务使用流程 函数工作流FunctionGraph是一项基于事件驱动的函数托管计算服务。使用FunctionGraph函数,只需编写业务函数代码并设置运行的条件,无需配置和管理服务器等基础设施,函数以弹性、免运维、高可靠的方式运行。此外,按函数实际执行资源计费,不执行不产生费用。
函数配置概述 成功创建函数后,需在函数详情页中,配置函数运行所必须的资源与环境,确保函数满足业务需求。 函数配置流程 图1介绍了函数配置的总体流程,详细的步骤操作说明请参考表1。 图1 函数配置流程 表1 配置函数操作步骤说明 序号 步骤 说明 1 配置函数代码 在代码编辑器中配
配置函数的快照式冷启动 FunctionGraph支持基于进程级快照的冷启动加速方案,用户无需额外付费,只需进行简单的配置、少量的代码修改,即可享受到该方案带来的冷启动性能提升。 当用户的Java函数启用快照式冷启动后,FunctionGraph会预先执行函数对应的初始化代码,获
基本概念 函数 函数是处理事件的自定义代码。 事件源 事件源是发布事件的公有云服务或自定义应用程序。 同步调用 同步调用指的是客户端请求需要明确等到响应结果,也就是说这样的请求必须得调用到用户的函数,并且等到调用完成才返回。 异步调用 异步调用是指客户端不关注请求调用的结果,服务
配置函数流的开始控制器组件 函数流的开始控制器组件是用于标识流程的开始。 约束与限制 通过数据工坊DWR服务创建的函数流,在函数工作流控制台只能查看,不能编辑和删除,相关操作请在DWR服务中执行。 每个函数流必须以“开始节点”作为流程开始且只能有一个“开始节点”,同时以“结束节点”作为流程结束。
获取指定依赖包(待废弃) 功能介绍 获取指定依赖包 调用方法 请参见如何调用API。 URI GET /v2/{project_id}/fgs/dependencies/{depend_id} 表1 路径参数 参数 是否必选 参数类型 描述 project_id 是 String
使用APIC触发器 本节介绍如何通过函数工作流控制台创建APIC触发器,实现使用API调用函数运行。 关于APIC触发器事件源的具体介绍,请参见支持的事件源。 约束与限制 APIC触发器当前支持“华东-上海一”、“华东-上海二”、“华南-广州”、“亚太-新加坡”区域使用。具体运行时函数是否支持使用请以控制台为准。
通过应用中心部署函数应用 应用中心使用资源编排服务来部署应用需要的周边资源(包含函数、委托、触发器等),使这些资源相互配合,共同执行任务。(目前仅华北-北京四、华东-上海一暂时支持该功能。) 创建步骤 登录函数工作流控制台,在左侧导航栏选择“应用中心”。 单击右上方的“创建应用”,进入“选择应用模板”页面。
按需计费 适用场景 函数工作流使用场景广泛,例如实时文件处理、实时数据流处理、Web移动应用后端和人工智能等场景。 适用计费项 函数工作流实际费用是由请求次数费用、执行时间费用、函数流节点执行次数、GPU计量时间、磁盘计量时间、闲置内存计量时间和其他费用构成,各计费项按需计费说明请参见表1。
进阶使用:使用专享版APIG触发器提升性能 应用场景 通过应用中心部署的Stable Diffusion应用使用的APIG触发器为共享版APIG,其带宽等资源由所有共享版APIG用户共同使用。因此,若业务使用需求高,建议将函数触发器改用为专享版APIG触发器,专享版与共享版APIG的具体差异可参考产品规格差异说明。
为函数配置预留实例(旧) 函数工作流提供了按量和预留两种类型的实例。 按量实例是由函数工作流根据用户使用函数的实际情况来创建和释放,当函数工作流收到函数的调用请求时,自动为此请求分配执行环境。 预留实例是将函数实例的创建和释放交由用户管理,当您为某一函数创建了预留实例,函数工作流
使用APIG专享版触发器 本节介绍如何通过函数工作流控制台创建APIG触发器,实现使用API调用函数运行。 关于APIG触发器事件源的具体介绍,请参见支持的事件源。 约束与限制 当前除“华北-北京一”外,其余区域均支持使用APIG专享版触发器。具体运行时函数是否支持使用请以控制台为准。
使用APIG共享版触发器 本节介绍如何通过函数工作流控制台创建APIG触发器,实现使用API调用函数运行。 关于APIG触发器事件源的具体介绍,请参见支持的事件源。 约束与限制 APIG共享版触发器当前支持“华北-北京一”、“华北-北京四”、“华东-上海一”、“华东-上海二”、“
更新指定依赖包 功能介绍 更新指定依赖包 调用方法 请参见如何调用API。 URI PUT /v2/{project_id}/fgs/dependencies/{depend_id} 表1 路径参数 参数 是否必选 参数类型 描述 project_id 是 String 租户项目
产品功能 函数管理 提供控制台管理函数。 函数支持Node.js、Java、Python、Go、PHP、Cangjie等多种运行时语言,同时支持用户自定义运行时,说明如表1所示。 建议使用相关语言的最新版本。 表1 运行时语言说明 运行时语言 支持版本 Node.js 6.10、8