华为云 FunctionGraph 函数工作流:Serverless 入门与触发器

举报
yd_226871987 发表于 2026/11/13 10:04:16 2026/11/13
【摘要】 函数工作流(FunctionGraph)是华为云的 Serverless 计算服务,把代码上传即可运行,不用管服务器。本文以一个 HTTP 触发的函数为例,讲清函数、委托、触发器的关系。

函数工作流(FunctionGraph)是华为云的 Serverless 计算服务,把代码上传即可运行,不用管服务器。本文以一个 HTTP 触发的函数为例,讲清函数、委托、触发器的关系。

什么时候用函数

适合突发、低频、事件驱动的场景:定时任务、Webhook 回调、文件上传后处理、API 后端。不适合长连接、常驻内存、单次运行超过 15 分钟的任务。

创建第一个函数

  1. 进入 FunctionGraph 控制台,创建函数,运行时选 Python 3.10 或 Node.js 18。
  2. 选择「事件函数」,代码入口形如 index.handler:
import json

def handler(event, context):
    body = json.loads(event.get("body") or "{}")
    name = body.get("name", "world")
    return {
        "statusCode": 200,
        "headers": {"Content-Type": "application/json"},
        "body": json.dumps({"message": f"hello, {name}"}, ensure_ascii=False),
    }
  1. 创建 APIG 触发器,把函数挂到一个 API 路径上,即可通过 URL 调用。

触发器类型

  • APIG 触发器:对外提供 HTTP(S) 接口。
  • 定时触发器:按 Cron 表达式触发,适合定时统计、清理。
  • OBS 触发器:对象上传/删除时触发,做图片处理、日志解析。
  • SMN/DMS 触发器:消息驱动的异步处理。

几个实践要点

  • 依赖管理:第三方库要一起打包成 zip 上传,或用「依赖包」功能挂载;纯标准库最省事。
  • 并发与预留实例:冷启动有延迟,对延迟敏感的接口配置「预留实例」预热。
  • 超时与内存:默认超时 3 秒,按需调到 30 秒内;内存越大 CPU 配额越高,CPU 密集型适当调大内存反而更快。
  • 日志:函数日志自动写入 LTS,排查问题时看 context.getLogger() 的输出。

把触发器和函数解耦,用事件驱动把零散任务串起来,是 Serverless 最舒服的用法。

【声明】本内容来自华为云开发者社区博主,不代表华为云及华为云开发者社区的观点和立场。转载时必须标注文章的来源(华为云社区)、文章链接、文章作者等基本信息,否则作者和本社区有权追究责任。如果您发现本社区中有涉嫌抄袭的内容,欢迎发送邮件进行举报,并提供相关证据,一经查实,本社区将立刻删除涉嫌侵权内容,举报邮箱: cloudbbs@huaweicloud.com
  • 点赞
  • 收藏
  • 关注作者

评论(0)

0/1000
抱歉,系统识别当前为高风险访问,暂不支持该操作

全部回复

上滑加载中

设置昵称

在此一键设置昵称,即可参与社区互动!

*长度不超过10个汉字或20个英文字符,设置后3个月内不可修改。

*长度不超过10个汉字或20个英文字符,设置后3个月内不可修改。