更新时间:2025-08-14 GMT+08:00
分享

创建事件函数

创建函数是在FunctionGraph业务使用流程中的第一步操作,如需通过云产品事件触发函数执行特定任务,可创建事件函数,并根据业务需求完成函数代码、网络配置及函数触发器等必要配置。本章节介绍如何通过控制台创建事件函数。

FunctionGraph支持创建空白事件函数和HTTP函数,关于事件函数与HTTP函数的选型对比请参考表1

表1 事件函数与HTTP函数选型对比

对比项

事件函数

HTTP函数

功能

用于处理文件和数据流,可以通过各类云产品的事件触发,以及用于处理异步请求,能够追踪并保存每个异步调用的状态。

支持流行的Web应用框架和AI项目,可以通过浏览器访问,或通过URL调用。

适用场景

  • 云产品集成: OBS实时文件处理、LTS日志加工等。
  • ETL数据加工:数据库数据清洗、消息队列处理等。
  • 常规任务:定时任务、周期任务、脚本任务等。
  • 多媒体处理:音视频转码、直播录制、图片加工等。
  • 快速构建流行Web框架应用:Express、Flask等。
  • 快速构建AI模型推理服务:如Stable Diffusion、ComfyUI、DeepSeek等。
  • 迁移已有的应用和接口:HTML5网站、REST API接口、移动APP、小程序、游戏结算等。

操作视频

本视频介绍使用空白模板创建函数,并测试函数能否正常运行。

约束与限制

单个账户下最大允许创建的函数个数默认为400个,如需扩大配额请提交工单

前提条件

  • 使用函数工作流控制台的所有操作均默认具有操作权限,请确保您登录的用户已有“FunctionGraph Administrator”权限,即FunctionGraph服务所有权限,更多权限的说明请参考权限管理
  • 如果函数工作流服务需要访问云日志服务LTS、虚拟私有云VPC等其他云服务进行协同工作,则需创建函数委托并授权函数工作流服务访问所需云服务的权限;若函数工作流服务无需访问其他云服务,则无需创建和选择函数委托。
  • 如果需要配置函数工作流服务访问VPC内资源,请参考创建虚拟私有云和子网创建VPC和子网。

创建事件函数

  1. 登录函数工作流控制台,在左侧的导航栏选择“函数 > 函数列表”。
  2. 单击右上方的“创建函数”,进入“创建函数”页面。
  3. 图1所示,创建方式选择“创建空白函数”,参考表2配置函数基本信息,参考表3配置函数高级设置参数。

    图1 函数基础信息
    表2 创建函数基础信息参数说明

    参数

    说明

    取值样例

    函数类型

    选择事件函数。

    事件函数为可通过特定事件触发的函数,通常为JSON格式的请求事件。

    事件函数

    区域

    选择函数所在的区域。

    不同区域的资源之间内网不互通,请就近选择靠近您业务的区域,可以降低网络时延、提高访问速度。

    华东-上海一

    函数名称

    输入自定义的函数名称,命名规则如下:

    • 可包含字母、数字、下划线和中划线,长度不超过60个字符。
    • 以大/小写字母开头,以字母或数字结尾。

    FG-demo

    企业项目

    选择函数所属的企业项目。企业项目是一种云资源管理方式,企业项目管理服务提供统一的云资源按项目管理,以及项目内的资源管理、成员管理。

    默认为“default”,支持用户选择已创建的企业项目。

    如果您没有开通企业管理服务,将无法看到企业项目选项。开通方法请参见如何开通企业项目

    default

    委托

    选择函数的委托。通过委托来授权函数工作流来访问其他云服务,若函数不访问任何云服务,则无需选择委托。

    默认“未使用任何委托”,支持选择已创建的委托。

    当华为云账号下无函数默认委托时,FunctionGraph提供快速创建默认委托“fgs_default_agency”的功能,详情请参见默认委托

    fgs_default_agency

    委托权限策略

    此参数仅在选择使用委托时显示。

    选定委托后将展示该委托关联的权限策略,如需调整权限策略,请参考修改函数委托通过IAM控制台进行操作。

    DIS User; SWR Admin; fgs_default_region_role; fgs_default_global_role

    运行时

    选择编写函数的运行时语言。

    FunctionGraph支持的运行时语言请参考FunctionGraph支持的运行时语言

    • 控制台代码编辑器仅支持在线编辑Node.js、Python、PHP和定制运行时。
    • 函数成功创建后,不支持修改运行时语言。

    Node.js 16.17

    图2 创建函数高级设置参数说明

    表3 创建函数高级设置参数说明

    参数

    说明

    取值样例

    函数访问公网

    开启时,函数可以通过默认网卡访问公网上的服务,其公网访问带宽为用户间共享,仅适用于测试场景。

    开启

    函数访问VPC内资源

    开启此参数需要函数配置包含VPC管理权限的委托,若基本信息的委托中选择“未使用任何委托”则无法开启。

    开启时,函数将使用配置的VPC所绑定的网卡进行网络访问,同时禁用函数工作流的默认网卡,即开关“函数访问公网”参数将不生效。

    开启后可选择函数需访问的VPC及其子网。

    未开启

    日志记录

    启用日志功能后,函数运行过程中产生的日志会上报到云日志服务(LTS)。

    注意:

    LTS将按需收取日志管理费用,详情请参见云日志服务价格详情

    开启后可配置以下参数:

    • 日志配置方式
      • 自动配置:使用默认日志组和日志流。
      • 自定义配置:选择自定义创建的日志组日志流
    • 日志标签

      函数执行时,会将日志标签配置上报到LTS,可通过标签在LTS控制台对函数日志进行过滤筛选,日志标签详情请参见日志管理

      标签键/标签值只能包含数字、字母、下划线和中划线,标签最大长度为64。最多支持添加10个标签。

    未开启

    KMS静态加密代码

    当前仅“拉美-圣保罗一”区域支持配置该参数。

    选择是否使用KMS静态加密函数代码。

    注意:

    数据加密服务DEW将按需收取费用,详情请参见数据加密服务计费说明

    支持选择以下加密类型:

    • (默认)functiongraph/default:函数会在您账号下的DEW服务中自动创建默认密钥,您无需手动创建。

      首次使用该默认密钥进行加解密,需确保函数委托中拥有以下权限:kms:dek:decrypt、 kms:dek:create、 kms:cmk:create、kms:cmk:get、 kms:cmk:list。

    • 使用用户主密钥:支持选择已创建的密钥加密函数代码,创建用户主密钥可参考创建自定义密钥。使用用户主密钥,需确保函数委托中拥有以下权限:kms:dek:decrypt、 kms:dek:create、 kms:cmk:get、 kms:cmk:list。
      注意:

      若选择“使用用户主密钥”,在后续使用中请勿在DEW服务中删除用于函数加密的主密钥,否则将因加密数据无法解密而导致函数执行失败。

    请参考JSON视图配置自定义策略前往IAM控制台配置函数的委托权限策略。

    (默认)functiongraph/default

  4. 配置完成后单击“创建函数”,页面跳转至函数详情配置页面,界面上方显示成功创建函数。
  5. 完成函数创建后,请参见配置函数,根据业务需求完成各项配置,即可使用函数。

相关文档

相关文档