创建事件函数
概述
由于FunctionGraph承担计算资源的管理工作,在函数完成编码以后,需要为函数设置运算资源等信息,目前主要是在FunctionGraph函数控制台完成。
创建函数时可以使用空模板,也可以使用函数模板创建函数。
操作步骤
- 登录FunctionGraph控制台,在左侧导航栏选择“函数 > 函数列表”,进入函数页面。
- 在函数页面,单击右上方的“创建函数”,进入“创建函数”页面。
- 在“创建函数”页面填写函数信息。
- 填写基础配置信息,如表1所示,带*参数为必填项。
表1 函数基础配置信息表 参数
说明
*FunctionGraph版本
选择函数版本。
- FunctionGraph v1:函数工作流,基于事件驱动的函数托管计算服务。
- FunctionGraph v2:华为元戎架构加持的下一代函数工作流。
*函数类型
选择“FunctionGraph版本”为“FunctionGraph v2”时,需选择函数类型。
- 事件函数:除HTTP函数的所有函数均属于事件类型。
- HTTP函数:用户可以直接发送 HTTP 请求到 URL 触发函数执行。说明:
- HTTP函数当前不区分编程语言,函数执行入口必须在bootstrap文件中设置,用户直接写启动命令,端口统一开放成8000。
- HTTP函数只允许创建APIG/APIC的触发器类型,其他触发器不支持。
- HTTP函数的使用说明请参考创建HTTP函数。
*函数名称
函数名称,命名规则如下:
- 可包含字母、数字、下划线和中划线,长度不超过60个字符。
- 以大/小写字母开头,以字母或数字结尾。
*所属应用
用户创建函数时可以进行分组,每个函数应用下面可以创建多个函数,在函数创建时可以指定其归属于某个函数应用。命名规则如下:
- 可包含字母、数字、下划线和中划线,长度不超过60个字符。
- 以大/小写字母开头,以字母或数字结尾。
- 具体配置请参考创建应用。
委托名称
用户委托函数工作流服务去访问其他的云服务,则需要提供权限委托,创建委托,请参考创建委托。
如果用户函数不访问任何云服务,则不用提供委托名称。
*企业项目
请选择已创建的企业项目,将函数添加至企业项目中。
说明:如果您没有开通企业管理服务,将无法看到企业项目选项。开通方法请参考如何开通企业项目。
描述
输入对函数的描述,不超过512个字符。
- 填写代码配置信息,如表2所示,带*参数为必填项。
表2 函数代码配置信息表 参数
说明
*自定义镜像
用户直接打包上传容器镜像,由平台加载并启动运行。
选择“FunctionGraph版本”为“FunctionGraph v2”时,可选择是否开启“自定义镜像”。更多操作说明请参考自定义镜像。
说明:开启自定义镜像,“委托名称”变为必填项,此时您需要选择包含“SWR Admin 容器镜像服务(SWR)管理员”权限的“委托”,因为用户镜像储存在SWR服务中,只有拥有“SWR Admin”权限,才能调用与获取,拉取镜像。
*镜像
swr中的镜像名,例如swr.myhuaweicloud.com/my_group/my_image:latest。
Command
容器的启动命令,例如"/bin/sh"。该参数为可选参数,不填写,则默认使用镜像中的Entrypoint/CMD。
字符串数组,以逗号分开。
Args
容器的启动参数,例如"-args,value1"。该参数为可选参数,不填写,则默认使用镜像中的CMD。
字符串数组,以逗号分开。
Working Dir
容器的工作目录。该参数为可选参数,不填写,则默认使用镜像中的配置。
文件夹路径,以/开头。
用户ID
镜像运行时的用户ID,若不填写,默认为1003。
用户组ID
镜像运行时的用户组ID,若不填写,默认为1003。
*初始化超时时间(秒)
初始化函数的最大时间,初始化函数超过该设置时长将被强行停止。
说明:如果您使用JAVA语言,建议您的超时时间设置为15秒以上。
运行时语言
目前支持Python 3.6、Python 2.7、Python 3.9、Node.js 6.10、Node.js 8.10、Node.js 10.16、Node.js 12.13、Node.js 14.18、Java 8、Go 1.x、Go1.8、C#(.NET Core 2.0)、C#(.NET Core 2.1)、C#(.NET Core 3.1)和PHP 7.3、定制运行时。
说明:当前仅“拉美-圣保罗一”区域的FunctionGraph v2版本支持“Node.js 14.18、Python 3.9”运行时语言。
*函数执行入口
- Node.js、Python和PHP函数执行入口的命名规则:[文件名].[函数名],必须包含“. ”。
- Java函数执行入口的命名规则:[包名].[文件名].[函数名]。
- Go函数执行入口的命名规则:[插件名].[函数名],函数名首字母为大写;总字符不超过128个字符。
- C#函数执行入口的命名规则:[应用程序的.NET程序集文件的名称]::[入口执行函数所在的namespace和class名称]::[入口执行函数名称]。
代码上传方式
代码上传方式操作说明请参考表1。
- 填写基础配置信息,如表1所示,带*参数为必填项。
- 在页面查看函数配置及计费信息,确认无误后,单击“创建函数”,完成函数创建。
- 函数环境配置信息如内存、超时时间、加密配置、环境变量等,使用缺省值,函数创建以后,可以修改,请参考修改函数配置。
- 函数创建以后,缺省版本是latest,每个函数都有latest版本。
- FunctionGraph计费是依据函数请求执行次数和执行时间计费,请根据实际情况合理配置函数内存及超时时间。
设置环境配置信息
参数 |
说明 |
---|---|
内存(MB) |
在“配置”页签,配置函数运行时所需的内存。 |
*函数初始化入口 |
在“代码”页签,若开启函数初始化功能,需要配置此参数,具体请参考初始化函数。 各runtime的函数初始化入口命名规范与原有函数执行入口保持一致。如Node.js、Python和PHP函数,命名规则:[文件名].[初始化函数名]。 |
*初始化超时时间(秒) |
在“配置”页签,函数初始化的超时时间,仅在开启函数初始化功能时,需要设置。 函数初始化超时时间设置范围为1~300秒。 |
*执行超时时间(秒) |
在“配置”页签,函数运行的超时时间,超时的函数将被强行停止。如果执行时间超过90秒,请采用异步调用的方式。 函数超时时间设置范围为3~900秒。 说明:
若需要设置900~43200秒的执行超时时间,请联系技术支持人员开通此功能。 |
