创建函数
由于FunctionGraph承担计算资源的管理工作,在函数完成编码以后,需要为函数设置运算资源等信息,目前主要是在FunctionGraph函数控制台完成。
创建函数时可以使用已有模板,也可以使用空模板,说明如下。
使用空模板
使用空模板创建函数时,需要设置基础配置信息和代码信息,如表1、表2所示,带*参数为必填项。
函数环境信息使用缺省值,请参考表4。
|
参数 |
说明 |
|---|---|
|
*函数名称 |
函数名称。 |
|
*所属应用 |
用户创建函数时可以进行分组,每个函数应用下面可以创建多个函数,在函数创建时可以选择其归属于某个函数应用,或输入函数应用名称进行新建。 |
|
*企业项目 |
请选择已创建的企业项目,将函数添加至企业项目中。
说明:
如果您没有开通企业管理服务,将无法看到企业项目选项。 |
|
委托名称 |
用户委托函数工作流服务去访问其他的云服务,举例:如果用户函数需要访问OBS、SMN等服务,则需要提供权限委托,如果用户函数不访问任何云服务,则不用提供委托名称。 |
|
描述 |
对函数的描述。 |
- 有关创建委托的过程请参考创建委托。
- 在创建函数过程中选择委托时,勾选“为函数执行单独设置委托”时,弹出“函数配置委托”和“函数执行委托”,函数执行委托与函数配置委托可独立设置,这将减小不必要的性能损耗;不勾选时,函数执行委托和函数配置委托将使用同一委托,即使用同一个选择的委托或不使用任何委托。
函数执行委托配置后用户可以通过函数执行入口方法中的context参数获取具有委托中权限的token、AK、SK,用于访问其他云服务。
|
参数 |
说明 |
|---|---|
|
*运行时语言 |
目前支持Python、Node.js、Java、Go、C#(.NET Core)、Cangjie、PHP和定制运行时Custom。 |
|
*函数执行入口 |
|
|
*代码上传方式 |
代码上传方式操作说明请参考表3。 |
|
运行时 |
代码上传方式 |
操作 |
|---|---|---|
|
Node.js |
在线编辑 |
在编码框在线编辑代码,相关功能如表1所示。 |
|
上传ZIP文件 |
单击“选择文件”,上传本地代码至平台。上传的zip文件大小限制为50MB,如超过50MB,请使用OBS。 |
|
|
从OBS上传文件 |
输入OBS链接URL,函数引用的代码必须是zip包。 |
|
|
Python |
在线编辑 |
在编码框在线编辑代码,相关功能如表1所示。 |
|
上传ZIP文件 |
单击“选择文件”,上传本地代码至平台。上传的zip文件大小限制为50MB,如超过50MB,请使用OBS。 |
|
|
从OBS上传文件 |
输入OBS链接URL,函数引用的代码必须是zip包。 |
|
|
Java |
上传ZIP文件 |
单击“选择文件”,上传本地代码至平台。上传的zip文件大小限制为50MB,如超过50MB,请使用OBS。 |
|
上传JAR包 |
单击“选择文件”,上传本地JAR包至平台。JAR文件中需至少包含一个.class文件。上传的JAR文件大小限制为50MB,如超过50MB,先把JAR格式转换成ZIP格式后,再使用OBS上传。 |
|
|
从OBS上传文件 |
输入OBS链接URL,函数引用的代码必须是zip包。 |
|
|
Go |
上传ZIP文件 |
单击“选择文件”,上传本地代码至平台。上传的zip文件大小限制为50MB,如超过50MB,请使用OBS。 |
|
从OBS上传文件 |
输入OBS链接URL,函数引用的代码必须是zip包。 |
|
|
C#(.NET Core) |
上传ZIP文件 |
单击“选择文件”,上传本地代码至平台。上传的zip文件大小限制为50MB,如超过50MB,请使用OBS。 |
|
从OBS上传文件 |
输入OBS链接URL,函数引用的代码必须是zip包。 |
|
|
定制运行时 |
在线编辑 |
在编码框在线编辑代码,相关功能如表1所示。 |
|
上传ZIP文件 |
单击“选择文件”,上传本地代码至平台。上传的zip文件大小限制为50MB,如超过50MB,请使用OBS。 |
|
|
从OBS上传文件 |
输入OBS链接URL,函数引用的代码必须是zip包。 |
|
|
PHP |
上传ZIP文件 |
单击“选择文件”,上传本地代码至平台。上传的zip文件大小限制为50MB,如超过50MB,请使用OBS。 |
|
从OBS上传文件 |
输入OBS链接URL,函数引用的代码必须是zip包。 |
|
|
Cangjie |
上传ZIP文件 |
单击“选择文件”,上传本地代码至平台。上传的zip文件大小限制为50MB,如超过50MB,请使用OBS。 |
|
从OBS上传文件 |
输入OBS链接URL,函数引用的代码必须是zip包。 |
- 用Python语言写代码时,您自行创建的包名不能与Python标准库同名,否则会提示module加载失败。例如“json”、“lib”,“os”等。
- 上传代码时,如果代码中包含敏感信息(如帐户密码等),请您自行加密,以防止信息泄露。
|
参数 |
说明 |
|---|---|
|
内存(MB) |
在“配置”页签,配置函数运行时所需的内存。 |
|
*函数初始化入口 |
在“代码”页签,开启函数初始化功能后,需要配置此参数。 各runtime的函数初始化入口命名规范与原有函数执行入口保持一致。如Node.js、Python和PHP函数,命名规则:[文件名].[初始化函数名]。 |
|
*初始化超时时间(秒) |
在“配置”页签,函数初始化的超时时间,仅在开启函数初始化功能时,需要设置。 函数初始化超时时间设置范围为1~300秒。 |
|
*执行超时时间(秒) |
在“配置”页签,函数运行的超时时间,超时的函数将被强行停止。如果执行时间超过90秒,请采用异步调用的方式。 函数超时时间设置范围为3~900秒。 |
- 函数环境配置信息如内存、超时时间、加密配置、环境变量等,使用缺省值,函数创建以后,支持修改。
- 函数创建以后,缺省版本是latest,每个函数都有latest版本。
- FunctionGraph计费是依据函数请求执行次数和执行时间计费,请根据实际情况合理配置函数内存及超时时间。
使用已有模板
FunctionGraph内置了一些典型场景的函数模板,函数模板包含了代码信息、配置信息、环境信息及触发器信息,选择使用模板,可以加载模板内置的函数信息,快速构建应用程序。详情请参考使用示例模板创建函数。
使用容器镜像
用户在本地环境打包容器镜像,只要符合OCI(Open Container Initiative)标准,都可以上传到FunctionGraph,由平台加载并启动运行。与原来上传代码方式相比,用户可以使用自定义的代码包,不仅灵活也简化了用户的迁移成本。详情请参考使用容器镜像部署函数。