检测到您已登录华为云国际站账号,为了您更好的体验,建议您访问国际站服务网站 https://www.huaweicloud.com/intl/zh-cn
不再显示此消息
华为云函数工作流(FunctionGraph)Yaml规范 字段解析 表1 参数说明 参数名 必填 类型 参数描述 region True Enum Enum funtion True Struct 函数 trigger False Struct 触发器 Yaml完整配置 华为云函数工作流
续费 如需续费,请在管理控制台“续费管理”页面进行续费操作,如图1所示。详细操作请参考续费管理。 图1 续费管理
启用禁用函数 FunctionGraph支持对函数进行禁用和启用操作,已禁用的函数不能被调用执行。 约束与限制 只能禁用“latest”版本的函数,不能禁用已经发布的函数版本。 基于已禁用的“latest”版本重新发布新版本,发布后的新版本也处于禁用状态且不能启用。 当函数处于禁用状态时可以修改代码
导入导出函数 FunctionGraph支持导入导出函数,可以把函数以文件的形式导出到本地,并在其他区域或其他用户的函数工作流控制台导入,实现函数配置数据的迁移。 约束与限制 导出函数: 导出函数资源包大小不超过50MB。 导出的函数资源中配置信息不包含别名信息。 通过函数列表界面导出函数时
基于RAM共享函数资源 基于资源访问管理RAM服务,FunctionGraph可以实现跨账号共享函数资源,资源所有者将资源同时共享给其他多个账号使用,资源使用者接受共享邀请后就可以访问和使用共享的函数资源。 资源所有者可以依据最小权限原则和不同的使用诉求,选择不同的共享权限,资源使用者只能对资源进行权限内的访问
配置函数初始化 函数初始化是指调用函数时对其进行初始化设置的过程,包括设置函数的初始状态、分配资源或为函数内部的变量赋予初始值等。 FunctionGraph是在函数实例启动成功后执行函数的初始化,初始化执行成功后,函数实例才能开始处理函数的调用请求。 FunctionGraph保证一个函数实例在生命周期内只成功执行一次函数初始化
配置函数的别名 FunctionGraph支持为函数创建别名,并关联指定版本的函数。客户端通过别名调用函数时,即可调用到指定版本的函数。在实际业务场景下,可以通过修改在别名上配置的版本,实现函数版本的更新和回滚,客户端无感知。 一个别名支持配置最多两个函数版本,并为两个版本分配不同的权重
配置函数的标签 标签用于标识资源,为函数添加标签,可以方便用户识别和管理拥有的函数。 您可以在函数创建完成后,在函数的详情页中为函数添加标签,一个函数最多可以添加20个标签。 如您的组织已经设定函数工作流服务的相关标签策略,则需按照标签策略规则为函数添加标签。标签如果不符合标签策略的规则
配置函数的版本 函数在开发、测试、生产过程中,可以发布一个或多个版本,实现对函数代码的管理。版本相当于函数的快照,可对应代码里的Tag,每个函数版本都会有对应的函数代码、配置等。 函数版本发布后,您可以根据实际需要修改版本配置信息,但版本的代码无法更新,以保证版本的稳定性和可追溯性
为函数配置预留实例(旧) 函数工作流提供了按量和预留两种类型的实例。 按量实例是由函数工作流根据用户使用函数的实际情况来创建和释放,当函数工作流收到函数的调用请求时,自动为此请求分配执行环境。 预留实例是将函数实例的创建和释放交由用户管理,当您为某一函数创建了预留实例,函数工作流收到此函数的调用请求时
扩展函数的存储空间 FuncitonGraph提供了磁盘挂载功能,通过挂载文件系统可为函数带来如下优势: 相比于临时存储空间/tmp,可以极大的扩展函数的执行存储空间。 多个函数之间可以挂载同一个文件系统,共享访问已经配置好的文件系统。 利用ECS已有的存储能力,可实现计算资源的动态扩展
配置函数的动态内存 默认情况下,一个函数唯一绑定了一个资源规格。开启动态内存可以让函数在处理指定请求时,设置本次处理中函数实例使用的资源规格。如果不指定资源规格,函数将使用默认配置的资源规格。 以使用函数做视频转码为例,视频文件大小从MB到GB,不同编码格式和分辨率对转码需要的计算资源要求差别很大
配置函数的常规信息 函数的常规配置信息如函数执行入口、执行超时时间、内存等,会在创建函数时根据所选择的运行时语言默认填写,用户可根据实际业务需要修改常规信息的配置。 配置常规信息 登录函数工作流控制台,在左侧的导航栏选择“函数 > 函数列表”。 单击函数的名称,进入函数详情页。 在
配置函数的并发处理 默认情况下,每个函数实例同一时刻只处理一个请求。函数收到并发请求时,例如并发三个请求,FunctionGraph会启动三个函数实例处理请求。FunctionGraph提供了单实例多并发能力,可以在一个实例上并发处理多个请求。 单实例多并发适合函数处理逻辑中有较长时间等待下游服务响应的场景
为函数配置预留实例 FunctionGraph提供了按量和预留两种类型的实例。 按量实例是由FunctionGraph根据用户使用函数的实际情况来创建和释放,当FunctionGraph收到函数的调用请求时,自动为此请求分配执行环境。 预留实例是将函数实例的创建和释放交由用户管理,
配置函数的心跳检测 心跳函数用于检测用户函数运行时的异常场景,如函数死锁、函数内存溢出、函数网络异常等。 配置了心跳函数后,当函数运行时,FunctionGraph每隔5秒向函数实例发送一次心跳请求,触发心跳函数。如果心跳请求返回异常,FunctionGraph会认为函数实例异常,
配置函数的快照式冷启动 FunctionGraph支持基于进程级快照的冷启动加速方案,用户无需额外付费,只需进行简单的配置、少量的代码修改,即可享受到该方案带来的冷启动性能提升。 当用户的Java函数启用快照式冷启动后,FunctionGraph会预先执行函数对应的初始化代码,获取其初始化执行上下文环境的快照
Go SDK使用范例 以同步执行函数为例,提供封装后的SDK。为了保证您成功使用以下示例代码,您需要先添加对应语言的SDK依赖。 表1 Go SDK信息说明 SDK信息 说明 安装 go get -u github.com/huaweicloud/huaweicloud-sdk-go-v3
打包 打包CLI命令 使用Serverless CLI工具,可以将项目打包,而无需将其部署到华为云。这最好与CI/CD工作流一起使用,以确保可部署产物一致。 运行以下命令将在服务的.serverless目录中构建和保存所有部署产物: serverless package 打包配置
Node.js SDK使用范例 以同步执行函数为例,提供封装后的SDK。为了保证您成功使用以下示例代码,您需要先添加对应语言的SDK依赖。 表1 Node.js SDK信息说明 SDK信息 说明 安装 npm i @huaweicloud/huaweicloud-sdk-functiongraph