创建事件函数
创建函数是在FunctionGraph业务使用流程中的第一步操作,如需通过云产品事件触发函数执行特定任务,可创建事件函数,并根据业务需求完成函数代码、网络配置及函数触发器等必要配置。本章节介绍如何通过控制台创建事件函数。
FunctionGraph支持创建空白事件函数和HTTP函数,关于事件函数与HTTP函数的选型对比请参考表1。
对比项 |
事件函数 |
HTTP函数 |
---|---|---|
功能 |
用于处理文件和数据流,可以通过各类云产品的事件触发,以及用于处理异步请求,能够追踪并保存每个异步调用的状态。 |
支持流行的Web应用框架和AI项目,可以通过浏览器访问,或通过URL调用。 |
适用场景 |
|
|
操作视频
本视频介绍使用空白模板创建函数,并测试函数能否正常运行。
约束与限制
单个账户下最大允许创建的函数个数默认为400个,如需扩大配额请提交工单。
前提条件
- 使用函数工作流控制台的所有操作均默认具有操作权限,请确保您登录的用户已有“FunctionGraph Administrator”权限,即FunctionGraph服务所有权限,更多权限的说明请参考权限管理。
- 如果函数工作流服务需要访问云日志服务LTS、虚拟私有云VPC等其他云服务进行协同工作,则需创建函数委托并授权函数工作流服务访问所需云服务的权限;若函数工作流服务无需访问其他云服务,则无需创建和选择函数委托。
- 如果需要配置函数工作流服务访问VPC内资源,请参考创建虚拟私有云和子网创建VPC和子网。
创建事件函数
- 登录函数工作流控制台,在左侧的导航栏选择“函数 > 函数列表”。
- 单击右上方的“创建函数”,进入“创建函数”页面。
- 如图1所示,创建方式选择“创建空白函数”,参考表2配置函数基本信息,参考表3配置函数高级设置参数。
表2 创建函数基础信息参数说明 参数
说明
取值样例
函数类型
选择事件函数。
事件函数为可通过特定事件触发的函数,通常为JSON格式的请求事件。
事件函数
区域
选择函数所在的区域。
不同区域的资源之间内网不互通,请就近选择靠近您业务的区域,可以降低网络时延、提高访问速度。
华东-上海一
函数名称
输入自定义的函数名称,命名规则如下:
- 可包含字母、数字、下划线和中划线,长度不超过60个字符。
- 以大/小写字母开头,以字母或数字结尾。
FG-demo
企业项目
选择函数所属的企业项目。企业项目是一种云资源管理方式,企业项目管理服务提供统一的云资源按项目管理,以及项目内的资源管理、成员管理。
默认为“default”,支持用户选择已创建的企业项目。
如果您没有开通企业管理服务,将无法看到企业项目选项。开通方法请参见如何开通企业项目。
default
委托
选择函数的委托。通过委托来授权函数工作流来访问其他云服务,若函数不访问任何云服务,则无需选择委托。
默认“未使用任何委托”,支持选择已创建的委托。
当华为云账号下无函数默认委托时,FunctionGraph提供快速创建默认委托“fgs_default_agency”的功能,详情请参见默认委托。
fgs_default_agency
委托权限策略
此参数仅在选择使用委托时显示。
选定委托后将展示该委托关联的权限策略,如需调整权限策略,请参考修改函数委托通过IAM控制台进行操作。
DIS User; SWR Admin; fgs_default_region_role; fgs_default_global_role
运行时
选择编写函数的运行时语言。
FunctionGraph支持的运行时语言请参考FunctionGraph支持的运行时语言。
- 控制台代码编辑器仅支持在线编辑Node.js、Python、PHP和定制运行时。
- 函数成功创建后,不支持修改运行时语言。
Node.js 16.17
图2 创建函数高级设置参数说明表3 创建函数高级设置参数说明 参数
说明
取值样例
函数访问公网
开启时,函数可以通过默认网卡访问公网上的服务,其公网访问带宽为用户间共享,仅适用于测试场景。
开启
函数访问VPC内资源
开启此参数需要函数配置包含VPC管理权限的委托,若基本信息的委托中选择“未使用任何委托”则无法开启。
开启时,函数将使用配置的VPC所绑定的网卡进行网络访问,同时禁用函数工作流的默认网卡,即开关“函数访问公网”参数将不生效。
开启后可选择函数需访问的VPC及其子网。
未开启
日志记录
启用日志功能后,函数运行过程中产生的日志会上报到云日志服务(LTS)。
注意:LTS将按需收取日志管理费用,详情请参见云日志服务价格详情。
开启后可配置以下参数:
未开启
KMS静态加密代码
当前仅“拉美-圣保罗一”区域支持配置该参数。
选择是否使用KMS静态加密函数代码。
注意:数据加密服务DEW将按需收取费用,详情请参见数据加密服务计费说明。
支持选择以下加密类型:
- (默认)functiongraph/default:函数会在您账号下的DEW服务中自动创建默认密钥,您无需手动创建。
首次使用该默认密钥进行加解密,需确保函数委托中拥有以下权限:kms:dek:decrypt、 kms:dek:create、 kms:cmk:create、kms:cmk:get、 kms:cmk:list。
- 使用用户主密钥:支持选择已创建的密钥加密函数代码,创建用户主密钥可参考创建自定义密钥。使用用户主密钥,需确保函数委托中拥有以下权限:kms:dek:decrypt、 kms:dek:create、 kms:cmk:get、 kms:cmk:list。
注意:
若选择“使用用户主密钥”,在后续使用中请勿在DEW服务中删除用于函数加密的主密钥,否则将因加密数据无法解密而导致函数执行失败。
请参考JSON视图配置自定义策略前往IAM控制台配置函数的委托权限策略。
(默认)functiongraph/default
- 配置完成后单击“创建函数”,页面跳转至函数详情配置页面,界面上方显示成功创建函数。
- 完成函数创建后,请参见配置函数,根据业务需求完成各项配置,即可使用函数。
相关文档
- 针对不同使用场景,函数工作流支持创建事件函数和HTTP函数,可使用内置运行时、定制运行时或自定义镜像编写函数,且支持为函数使用GPU计算资源。如何针对应用场景进行函数类型选型,详情请参见函数类型选型。
- 除使用控制台外,函数工作流支持通过API的方式创建函数,详情请参见创建函数。
- 创建函数的常见问题排查方法请参见创建函数常见问题。
- 创建简单事件函数的快速入门示例,请参见使用空白模板创建并执行函数、使用容器镜像创建并执行事件函数。