创建并初始化函数
创建函数
- 登录FunctionGraph控制台,进入“函数”界面。
- 在“函数”界面,选择“函数列表”,单击“创建函数”,进入“创建函数”界面。
- 在“创建函数”界面填写函数信息。
- 填写基础配置信息,如表1所示,带*参数为必填项。
表1 函数基础配置信息表 参数
说明
模板
本例使用空白模板。
如果使用已有模板,请参考使用示例模板创建函数。
*函数名称
函数名称,命名规则如下:
- 可包含字母、数字、下划线和中划线,长度不超过60个字符。
- 以大/小写字母开头,以字母或数字结尾。
输入HelloWorld。
函数类型
- 事件函数:通过触发器来触发函数执行。
- HTTP函数:用户可以直接发送 HTTP 请求到 URL 触发函数执行。
说明:
- HTTP函数当前不区分编程语言,函数执行入口必须在bootstrap文件中设置,用户直接写启动命令,端口统一开放成8000。
- HTTP函数只允许创建APIG的触发器类型,其他触发器不支持。
*区域
选择要部署代码的区域。
委托名称
用户委托函数工作流服务去访问其他的云服务,则需要提供权限委托,创建委托,请参考创建委托。
如果用户函数不访问任何云服务,则不用提供委托名称。
本例选择“不使用任何委托”。
*企业项目
请选择已创建的企业项目,将函数添加至企业项目中,默认选择“default”。
运行时
选择用来编写函数的语言。
须知:控制台代码编辑器仅支持Node.js、Python和PHP。
在创建函数过程中选择委托时,勾选“为函数执行单独设置委托”时,弹出“函数配置委托”和“函数执行委托”,函数执行委托与函数配置委托可独立设置,这将减小不必要的性能损耗;不勾选时,函数执行委托和函数配置委托将使用同一委托,即使用同一个选择的委托或不使用任何委托。
- 函数执行委托配置后用户可以通过函数执行入口方法中的context参数获取具有委托中权限的token、AK、SK,用于访问其他云服务。
- 填写代码配置信息,如表2所示,带*参数为必填项。
表2 函数代码配置信息表 参数
说明
*运行时语言
选择函数的运行时。
本例选择“Node.js 6.10”。
*函数执行入口
对于Node.js函数,命名规则:[文件名].[函数名],必须包含“. ”。
填写index.handler,表示函数的文件名为index.js,执行的入口函数名为handler。
*代码上传方式
选择“在线编辑”。使用系统生成的样例代码。
- 用python语言写代码时,自己创建的包名不能与python标准库同名,否则会提示module加载失败。例如“json”、“lib”,“os”等。
- 上传代码时,如果代码中包含敏感信息(如帐户密码等),请您自行加密,以防止信息泄露。
样例代码实现的功能是:获取测试事件,打印测试事件信息,代码如下。
exports.handler = function (event, context, callback) { const error = null; const output = `Hello message: ${JSON.stringify(event)}`; callback(error, output); }
- 填写基础配置信息,如表1所示,带*参数为必填项。
- 在页面查看函数配置及计费信息,确认无误后,单击“创建函数”,完成函数创建。
函数创建成功后,函数内存配置为128MB,超时时间设置为3秒。
初始化函数
在函数创建完成后,开启初始化功能初始化函数。在函数初始化场景中,设置了Initializer后,函数计算首先调用Initializer完成函数的初始化,成功后再调用handler处理请求;没有函数初始化的需求则可以跳过Initializer,直接调用handler处理请求。创建函数过程请参考创建函数。
- 登录FunctionGraph控制台,进入“函数”界面。
- 在函数界面选择“函数列表”,选择已创建的函数,单击进入函数详情页面。
- 选择“设置 > 生命周期”,开启“初始化配置”。
表3 初始化配置参数说明 参数
说明
配置初始化函数
如需初始化,请开启此参数。
初始化超时时间(秒)
函数初始化的超时时间,如开启函数初始化功能则设置,不开启则不设置。
函数初始化超时时间设置范围为1-300秒。
函数初始化入口
在函数配置页面中,可以选择开启函数初始化功能。各runtime的函数初始化入口命名规范与原有函数执行入口保持一致。如Node.js和Python函数,命名规则:[文件名].[初始化函数名]。
说明:- 如不开启函数初始化功能则无需配置函数初始化入口。
- 函数初始化入口需要和函数执行入口在同一文件下。
- 单击“保存”,完成函数的初始化。
测试函数
配置测试事件和测试函数请参考测试管理。
别名配置
别名配置请参考别名管理。