创建事件函数
概述
函数是处理事件的自定义代码,您可以使用空白模板函数创建函数,根据实际业务场景进行函数配置。
由于FunctionGraph承担计算资源的管理工作,在函数完成编码以后,需要为函数设置运算资源等信息,目前主要是在FunctionGraph函数控制台完成。
创建函数时可以使用空模板,也可以使用示例模板创建函数、使用容器镜像部署函数。
使用空模板创建函数时,需要设置基础配置信息和代码信息,如表1所示,带*参数为必填项。
每个FunctionGraph函数都运行在其自己的环境中,有其自己的资源和文件系统。
操作步骤
- 登录函数工作流控制台,在左侧的导航栏选择“函数 > 函数列表”。
- 单击右上方的“创建函数”,进入“创建函数”页面。
- 选择“创建空白函数”,参见表1填写函数信息,带*参数为必填项。
图1 创建空白函数
表1 函数基础配置信息表 参数
说明
*函数类型
- 事件函数:通过触发器来触发函数执行。
- HTTP函数:用户可以直接发送 HTTP 请求到 URL 触发函数执行。
说明:
- HTTP函数当前不区分编程语言,函数执行入口必须在bootstrap文件中设置,用户直接写启动命令,端口统一开放成8000。
- HTTP函数只允许创建APIG/APIC的触发器类型,其他触发器不支持。
- HTTP函数的使用说明请参见创建HTTP函数。
*区域
选择要部署代码的区域。
*函数名称
函数名称,命名规则如下:
- 可包含字母、数字、下划线和中划线,长度不超过60个字符。
- 以大/小写字母开头,以字母或数字结尾。
委托名称
用户委托函数工作流服务去访问其他的云服务,则需要提供权限委托,创建委托,请参见配置委托权限。
如果用户函数不访问任何云服务,则不用提供委托名称。
*企业项目
选择已创建的企业项目,将函数添加至企业项目中,默认选择“default”。
说明:如果您没有开通企业管理服务,将无法看到企业项目选项。开通方法请参见如何开通企业项目。
运行时
选择用来编写函数的语言。
须知:控制台代码编辑器仅支持Node.js、Python和PHP。
- 填写完成后单击“创建函数”,页面跳转至代码配置页面,继续配置代码源。
配置代码源
- 您可以根据所选的运行时语言Runtime,参见创建程序包,选择适合的方式进行代码源部署,完成后单击“部署”。
以下图为例,运行时语言为“Node.js 10.16”,可以选择“在线编辑”、“Zip文件”、“OBS地址”三种方式进行代码源部署。
图2 部署代码源
当使用“OBS地址”方式进行代码源部署时,请确保创建函数选择的“区域”与创建OBS桶选择的“区域”一致。
- 代码若有修改,请修改完成后再次单击“部署”,重新部署代码。
查看代码信息
- 查看代码属性
- 查看基本信息
函数创建完成后,各语言默认内存和执行超时时间如图4所示,请根据实际业务评估,若需修改“函数执行入口”、“内存(MB)”“执行超时时间(秒)”,可单击“编辑”,在常规设置中修改配置信息,具体请参见配置常规信息。
函数一旦创建,便不能修改运行时语言。
表2 各语言默认基本信息 Runtime
默认基本信息
JAVA
内存(MB):512MB
函数执行入口:com.demo.TriggerTests.apigTest
执行超时时间(秒):15s
Node.js
内存(MB):128 MB
函数执行入口:index.handler
执行超时时间(秒):3s
Custom
内存(MB):128 MB
函数执行入口:bootstrap
执行超时时间(秒):3s
PHP
内存(MB):128 MB
函数执行入口:index.handler
执行超时时间(秒):3s
Python
内存(MB):128 MB
函数执行入口:index.handler
执行超时时间(秒):3s
Go 1.x
内存(MB):128 MB
函数执行入口:handler
执行超时时间(秒):3s