更新时间:2022-04-22 GMT+08:00
分享

创建事件函数

概述

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

创建函数时可以使用空模板,也可以使用函数模板创建函数

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

函数环境信息使用缺省值,请参考设置环境配置信息。函数创建完成后,若需要修改函数配置信息,请参考修改函数配置

每个FunctionGraph函数都运行在其自己的环境中,有其自己的资源和文件系统。

前提条件

  1. 了解函数支持的编程语言,具体请参考支持的编程语言
  2. 创建程序包,具体请参考创建程序包
  3. 创建委托(可选,根据实际情况,确定是否需创建委托),具体请参考创建委托

操作步骤

  1. 登录FunctionGraph控制台,在左侧导航栏选择“函数 > 函数列表”,进入函数页面。
  2. 在函数页面,单击右上方的“创建函数”,进入“创建函数”页面。
  3. 在“创建函数”页面填写函数信息。
    1. 填写基础配置信息,如表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所示,带*参数为必填项。
      表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函数执行入口的命名规则:[文件名].[函数名],必须包含“. ”。

        例如:myfunction.handler。

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

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

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

        例如:function.Handler。

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

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

      代码上传方式

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

  1. 在页面查看函数配置及计费信息,确认无误后,单击“创建函数”,完成函数创建。
    • 函数环境配置信息如内存、超时时间、加密配置、环境变量等,使用缺省值,函数创建以后,可以修改,请参考修改函数配置
    • 函数创建以后,缺省版本是latest,每个函数都有latest版本。
    • FunctionGraph计费是依据函数请求执行次数和执行时间计费,请根据实际情况合理配置函数内存及超时时间。

设置环境配置信息

函数创建完成后,请参考表3,设置环境信息缺省值,带*参数为必填项。
表3 函数环境信息配置

参数

说明

内存(MB)

在“配置”页签,配置函数运行时所需的内存。

*函数初始化入口

在“代码”页签,若开启函数初始化功能,需要配置此参数,具体请参考初始化函数

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

*初始化超时时间(秒)

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

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

*执行超时时间(秒)

在“配置”页签,函数运行的超时时间,超时的函数将被强行停止。如果执行时间超过90秒,请采用异步调用的方式。

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

说明:

若需要设置900~43200秒的执行超时时间,请联系技术支持人员开通此功能。

分享:

    相关文档

    相关产品

close