有奖捉虫:云通信与企业服务文档专题,速来> HOT
腾讯云云函数目前支持事件触发HTTP 请求触发两种触发模式:

事件触发

事件触发(Event-Triggered)是典型的无服务器运行方式,核心组件是 SCF 函数和事件源。其中,事件源是发布事件(Event)的腾讯云服务或用户自定义代码,SCF 函数是事件的处理者,而函数触发器就是管理函数和事件源对应关系的集合。例如以下场景:
图像/视频处理:用户上传图片时将图片切割成合适的尺寸。用户使用该应用上传照片,应用将这些用户照片存储到 COS 中并且创建每个用户照片的缩略图,并在用户页面上显示这些缩略图。本场景下,您需要选择 COS 作为事件源,在文件创建时将事件(Event)发布给 SCF 函数,事件数据提供关于存储桶和文件的所有信息。
数据处理:半夜12点,分析一天所收集的数据(例如 clickstream)并生成报告。本场景下,您需要选择定时器作为事件源,在一个特定时间将事件(Event)发布给 SCF 函数。
自定义的应用程序:在您的某个应用程序中调用第一个图像处理 SCF 函数,作为应用程序的一个模块。本场景下,您需要该应用程序中自行调用 Invoke API 来发布事件(Event)。
这些事件源可以是以下任意之一:
内部事件源:这些是经过预配置可与 SCF 一起使用的腾讯云云服务。当您配置了这些事件源触发函数时,函数将在出现事件时被自动调用。事件源和函数的关联关系(即事件源映射)将在事件源侧维护。
自定义应用程序:您可以让自定义应用程序发布事件和调用 SCF 函数。

示例 1:COS发布事件并调用函数

您可以配置 COS 的事件源映射,决定 COS 在发生何种行为时触发 SCF 函数(如 PUT、DELETE 对象等)。COS 的事件源映射存储在 COS 中,使用存储桶通知功能,引导 COS 在出现特定事件类型时调用函数:
创建 COS 触发器。
用户在存储桶中创建/删除对象。
COS 检测到对象创建/删除事件。
COS 自动调用函数,将根据存储在 COS 配置中的事件源映射明确应该调用哪个函数。将 Bucket 及 Object 信息作为事件数据传递给函数。

示例 2:定时器发布时间并调用函数

定时器的事件源映射将保存在 SCF 函数配置中,决定何时自动触发函数:
创建定时触发器。
该定时器在配置时间时自动调用函数。

示例 3:自定义应用程序调用函数

如果您需要在自定义应用程序中调用某个 SCF 函数,在这种情况下您不需要配置函数触发器,也不需设置事件源映射。此时,事件源使用 Invoke API。
自定义应用程序使用 Invoke API 调用函数,自行传入事件数据。
函数接收到触发请求并执行。
如果使用了同步调用方式,函数将向应用程序返回结果。
注意
在此示例中,由于自定义应用程序和函数均为同一个用户生产的,可以指定用户凭证(APPID、SecretId 和 SecretKey)。

注意事项

1. 目前单个云函数支持的触发器相关限制,可见 配额及限制
2. 由于不同云服务的限制,事件源映射关系有着特定的限制。例如:对于 COS 触发器而言,同一个 COS Bucket 的相同事件(如文件上传),不能触发多个不同的函数。

HTTP 请求触发

HTTP 请求触发是云函数 Web Function 支持的特殊触发方式,原生的 HTTP 请求可以直接通过 API 网关透传到函数环境,触发函数的运行与处理,适合 Web 服务场景开发,详细使用方式请参考 Web 函数概述