文档首页 > > 用户指南> FunctionGraph使用说明> 构建函数> 创建函数

创建函数

分享
更新时间:2020/07/17 GMT+08:00

由于FunctionGraph承担计算资源的管理工作,在函数完成编码以后,需要为函数设置运算资源等信息,目前主要是在FunctionGraph函数控制台完成。

创建函数时可以使用已有模板,也可以使用空模板,说明如下。

使用空模板

使用空模板创建函数时,需要设置基础配置信息和代码信息,如表1表2所示,带*参数为必填项。

函数环境信息使用缺省值,如表4所示。函数创建完成后,可以修改,请参考修改函数配置

表1 函数基础配置信息表

参数

说明

函数名称

函数名称。

所属应用

用户创建函数时可以进行分组,每个函数应用下面可以创建多个函数,在函数创建时可以选择其归属于某个函数应用,或输入函数应用名称进行新建。

委托名称

用户委托函数工作流服务去访问其他的云服务,举例:如果用户函数需要访问OBS、SMN等服务,则需要提供权限委托,如果用户函数不访问任何云服务,则不用提供委托名称。

描述

对函数的描述。

  • 有关创建委托的过程请参考创建委托
  • 在创建函数过程中选择委托时,勾选“为函数执行单独设置委拖”时,弹出“函数配置委托”,函数执行委托与函数配置委托可独立设置,这将减小不必要的性能损耗;不勾选时,函数执行委托和函数配置委托将使用同一委托,即使用同一个选择的委托或不使用任何委托。如图1所示。
    图1 委托设置
    1. 函数配置委托,如果函数需要创建DMS或DIS触发器,则需要配置具有DMS或DIS访问权限的委托。当没有使用任何函数配置委托或者函数配置委托不存在时,不能创建DMS、DIS触发器。
    2. 函数执行委托配置后用户可以通过函数执行入口方法中的context参数获取具有委托中权限的token、AK、SK,用于访问其他云服务。
表2 函数代码配置信息表

参数

说明

运行时语言

目前支持Python 3.6、Python 2.7、Node.js 6.10、Node.js 8.10、Node.js 10.16、Node.js 12.13、Java 8、Go 1.8、C#(.NET Core 2.0)、C#(.NET Core 2.1)、C#(.NET Core 3.1)和PHP 7.3。

函数执行入口

  • Node.js、Python和PHP函数执行入口的命名规则:[文件名].[函数名],必须包含“. ”。

    例如:myfunction.handler。

  • Java函数执行入口的命名规则:[包名].[文件名].[函数名]。

    例如:com.xxxxx.exp.Myfunction.myHandler。

  • Go函数执行入口的命名规则:[插件名].[函数名],函数名首字母为大写且不超过128个字符。

    例如:function.Handler。

  • C#函数执行入口的命名规则:[应用程序的.NET程序集文件的名称]::[入口执行函数所在的namespace和class名称]::[入口执行函数名称]。

    例如:HelloCsharp::Example.Hello::Handler。

代码上传方式

代码上传方式操作说明请参考表3

表3 函数代码上传方式

运行时

代码上传方式

操作

Node.js 6.10/Node.js 8.10/Node.js 10.16/Node.js 12.13

在线编辑

在编码框在线编辑代码,相关功能如表1所示。

上传ZIP文件

单击“选择文件”,上传本地代码至平台。上传的zip文件大小限制为10MB,如超过10MB,请使用OBS。

从OBS上传文件

输入OBS链接URL,函数引用的代码必须是zip包。

Python 2.7/Python 3.6

在线编辑

在编码框在线编辑代码,相关功能如表1所示。

上传ZIP文件

单击“选择文件”,上传本地代码至平台。上传的zip文件大小限制为10MB,如超过10MB,请使用OBS。

从OBS上传文件

输入OBS链接URL,函数引用的代码必须是zip包。

Java 8

上传ZIP文件

单击“选择文件”,上传本地代码至平台。上传的zip文件大小限制为10MB,如超过10MB,请使用OBS。

上传JAR包

单击“选择文件”,上传本地JAR包至平台。上传的JAR文件大小限制为10MB,如超过10MB,请使用OBS。

从OBS上传文件

输入OBS链接URL,函数引用的代码必须是zip包。

Go 1.8

上传ZIP文件

单击“选择文件”,上传本地代码至平台。上传的zip文件大小限制为10MB,如超过10MB,请使用OBS。

从OBS上传文件

输入OBS链接URL,函数引用的代码必须是zip包。

C#(.NET Core 2.0)/C#(.NET Core 2.1)/C#(.NET Core 3.1)

上传ZIP文件

单击“选择文件”,上传本地代码至平台。上传的zip文件大小限制为10MB,如超过10MB,请使用OBS。

从OBS上传文件

输入OBS链接URL,函数引用的代码必须是zip包。

定制运行时

在线编辑

在编码框在线编辑代码,相关功能如表1所示。

上传ZIP文件

单击“选择文件”,上传本地代码至平台。上传的zip文件大小限制为10MB,如超过10MB,请使用OBS。

从OBS上传文件

输入OBS链接URL,函数引用的代码必须是zip包。

  • 用Python语言写代码时,您自行创建的包名不能与Python标准库同名,否则会提示module加载失败。例如“json”、“lib”,“os”等。
  • 上传代码时,如果代码中包含敏感信息(如账户密码等),请您自行加密,以防止信息泄露。
表4 函数环境信息配置

参数

说明

内存(MB)

配置函数运行时所需的内存。

函数初始化入口

在“代码”页签,开启函数初始化功能后,需要配置此参数。

各runtime的函数初始化入口命名规范与原有函数执行入口保持一致。如Node.js、Python和PHP函数,命名规则:[文件名].[初始化函数名]。

初始化超时时间(秒)

函数初始化的超时时间,仅在开启函数初始化功能时,需要设置。

函数初始化超时时间设置范围为1 ~ 300秒。

执行超时时间(秒)

函数运行的超时时间,超时的函数将被强行停止。

函数超时时间设置范围为3 ~ 900秒。

  • 函数环境配置信息如内存、超时时间、环境变量等,使用缺省值,函数创建以后,可以修改,请参考修改函数配置
  • 函数创建以后,缺省版本是LATEST,每个函数都有LATEST版本。
  • FunctionGraph计费是依据函数设置的内存大小及执行时间收费,请根据实际情况合理配置函数内存及超时时间。

使用已有模板

FunctionGraph内置了一些典型场景的函数模板,函数模板包含了代码信息、配置信息、环境信息及触发器信息,选择使用模板,可以加载模板内置的函数信息,快速构建应用程序。详情请参考使用函数模板

分享:

    相关文档

    相关产品

文档是否有解决您的问题?

提交成功!

非常感谢您的反馈,我们会继续努力做到更好!

反馈提交失败,请稍后再试!

*必选

请至少选择或填写一项反馈信息

字符长度不能超过200

提交反馈 取消

如您有其它疑问,您也可以通过华为云社区问答频道来与我们联系探讨

智能客服提问云社区提问