You need to enable JavaScript to run this app.
文档中心
函数服务

函数服务

复制全文
下载 pdf
管理触发器
创建 TOS 触发器
复制全文
下载 pdf
创建 TOS 触发器
函数服务支持对接火山引擎的 对象存储 TOS。通过创建 TOS 触发器,函数服务可监听指定 Bucket 下的各类型事件变动,并将事件传递给用户函数,触发函数代码逻辑。您无需关心函数服务获取事件的细节,只需编写处理事件的函数。本文为您介绍如何创建 TOS 触发器。​
背景信息​
  • TOS 触发器工作机制及注意事项​
  • 当符合条件的 TOS 事件发生时,TOS 会将此事件发送给 veFaaS,veFaaS 会把该事件写入队列,并迅速向 TOS 返回响应,表示事件已接收。随后,一个独立的进程会从事件队列中读取事件,触发函数执行用户自定义的业务处理逻辑。​
  • ​alt​​
  • 错误最大重试次数:10 次,超过会被丢弃。如果函数执行过程中返回错误(例如函数 handler 直接返回 error 或 >= 400 的状态码),veFaaS 会进行错误重试,您无需在代码中编写重试逻辑。​
  • 事件最长保留时间:6 小时,超过会被丢弃。请合理配置单实例多并发和实例数上限,确保函数有足够的性能和资源来处理事件通知。​
  • 消息重复投递:由于事件队列最终一致性的特性,可能导致同一事件被重复投递至函数。请确保函数代码能够正确处理重复事件。​
  • TOS 触发器为双向集成触发器​
  • 在函数服务侧每创建一个 TOS 触发器,对应到对象存储侧,将同步生成一个同名的事件通知规则。相应地,在对象存储侧每创建一个事件通知规则,对应到函数服务侧,将在目标函数下同步生成一个同名的 TOS 触发器。​
  • 一个 TOS 事件支持投递至多个函数​
  • 如果您有此类需求,请前往对象存储控制台创建事件通知规则,详细操作可参见 设置事件通知。​
前提条件​
  • 已基于vefaas-python38-default模板或vefaas-golang-tos-trigger模板创建函数,并至少完成一次全量发布,详细操作可参见 发布函数。​
使用限制​
  • 每个函数最多支持创建 20 个触发器,灰度发布暂不支持创建触发器。​
  • 删除函数前,需要先删除 TOS 触发器。​
  • TOS 触发器创建完成后,不允许变更 Bucket。​
  • 如果需要将一个 TOS 事件投递至多个函数,必须前往对象存储控制台操作。​
  • 如果 TOS 事件通知已绑定多个投递目标,在函数服务侧仅支持查看和删除,不支持编辑。如需编辑,请前往对象存储控制台操作。​
  • TOS 事件通知投递至函数服务时,系统会有 30+ 秒延时。​
操作步骤​
  1. 在顶部导航栏,选择目标地域。​
  1. 在 函数列表 页面,选择需要创建触发器的函数,单击函数名称。​
  1. 在函数详情页面的 触发器 页签下,单击 创建触发器。​
  1. 在 创建触发器 面板,按要求设置参数。​
  • ​alt​​
  • ​
    配置项​
    说明​
    触发器类型​
    本场景选择 TOS 触发器。​
    TOS Bucket​
    TOS Bucket 是用于存储对象(Object)的空间。选择函数服务需要监听的 TOS Bucket,支持模糊搜索。​
    触发事件​
    选择函数服务需要监听的事件,支持多选。支持监听的 TOS 事件及含义,请参见 事件列表。​
    注意​
    对于监听文件上传事件的场景,如有大文件分片上传的情况,需要同时选择 tos:ObjectCreated:Put 和 tos:ObjectCreated:CompleteUpload。若无分片上传的情况,可只选择 tos:ObjectCreated:Put,通过简单上传对象后触发。​
    过滤条件​
    通过设置过滤条件,可精确匹配需要监听的事件所包含的对象范围,有效降低触发频率,减少成本。​
    • 前缀:根据需要,设置需要匹配对象的前缀信息。​
    • 后缀:根据需要,设置需要匹配对象的后缀信息。​
    • 例如:触发事件为tos:Object:Created:*,前缀为test/,后缀为.png,则test目录下检测到png格式的对象上传时,都会触发函数执行。​
    说明​
    • 前缀和后缀为“且”的关系,匹配规则均为精确匹配。​
    • 如果前后缀均未设置,则会匹配存储桶内所有对象。​
    ​
注意​
一个 Bucket 下创建的触发器必须保证语义唯一性,即 触发事件、前缀 和 后缀 组成的语义唯一,匹配的范围不允许重叠。​
例如:已创建触发器 1, 用于监听 Bucket-A 中后缀为png的对象发生的 tos:Object:Created:Put事件。对于触发器 2,若监听事件包含触发器 1 中的tos:Object:Created:Put事件, 则匹配对象不允许与触发器 1 有重叠,即不允许包含后缀为png的对象。如果包含,触发器 2 将创建失败。​
  1. 单击 确定,完成 TOS 触发器创建。​
说明​
  • TOS 触发器创建成功后,将会在对象存储的指定 Bucket 下同步生成一条同名的事件推送规则,您可前往 对象存储控制台 查看。​
  • TOS 触发器创建成功后,大约需要等待 2 分钟才能生效。​
后续操作​
  • 如果您需要观测函数的运行状态,可参考 监控与日志。​
​
最近更新时间:2025.09.01 14:18:52
这个页面对您有帮助吗?
有用
有用
无用
无用