文档

触发器简介

更新时间:
一键部署

触发器是触发函数执行的方式。在事件驱动的计算模型中,事件源是事件的生产者,函数是事件的处理者,而触发器提供了一种集中、统一的方式来管理不同的事件源。在事件源中,当事件发生时,如果满足触发器定义的规则,事件源会自动调用触发器关联的函数。

什么是触发器

函数计算提供了一种事件驱动的计算模型。函数的执行是由事件驱动的。函数的执行可以通过函数计算控制台或SDK触发,也可以由其他一些事件源来触发。您可以在指定函数中创建触发器,该触发器描述了一组规则,当某个事件满足这些规则,事件源就会触发关联的函数。

说明

如果您需要使用一个触发器触发多个函数,可以结合使用函数计算Serverless 工作流服务。首先通过触发器触发一个函数,该函数启动Serverless 工作流流程,然后在流程里您可以调用多个函数。更多信息,请参见示例

场景示例

  • 示例一 :对象存储OSS中的图片状态变更触发函数执行

    某应用使用对象存储OSS存放上传的图片,您可以通过直接调用函数的方式去下载图片进行处理,并将结果存入对象存储OSS或者其他服务。如果对象存储OSS能够帮助我们关注新上传的图片,并且自动去调用关联的函数,您无需再调用函数,从而简化了开发和使用流程。OSS触发器的作用就是关注这些事件并调用函数计算的函数。配置了OSS触发器后,当有新图片上传,OSS触发器会自动触发函数下载并处理图片。

  • 示例二:日志服务SLS中日志更新触发函数执行

    某应用使用日志服务SLS定时采集更新的日志,您可以通过直接调用函数对增量的日志进行查询和分析。如果日志服务SLS能够帮助我们关注更新的日志,并自动调用关联的函数,您无需再调用函数。SLS触发器的作用就是关注这些事件并调用函数计算的函数。配置了SLS触发器后,当有日志更新,SLS触发器会自动触发函数消费增量的日志。

  • 示例三:在指定时间触发函数执行

    某应用需要每隔1小时收集一次数据。您可以每隔1小时通过直接调用函数收集数据并处理。如果函数计算中的函数能每隔1小时自动执行,您无需再关注时间。定时触发器的作用就是关注时间事件并调用函数计算的函数。配置了定时触发器后,在指定的时间,定时触发器会自动触发函数收集和处理数据。

触发器类型

按照触发器集成方式,函数计算支持的触发器分为以下两类:

  • 双向集成触发器:您既可以在函数计算,又可以在事件源端配置触发器。

  • 云产品事件触发器:支持在函数计算配置触发器,同时支持在事件总线EventBridge创建函数触发规则,无需在事件源端配置。

从函数调用方式的角度,触发器又可以分为同步调用触发器和异步调用触发器,两种调用方式的区别如下所示。更多信息,请参见同步调用

  • 同步调用:事件被函数处理后直接返回结果。例如,使用控制台调用函数属于同步调用。

  • 异步调用:事件在写入到函数计算内部队列后返回结果,函数计算系统会保证该消息被可靠地处理。

双向集成触发器

触发器名称

调用方式

文档链接

定时触发器

异步调用

定时触发器概述

对象存储 OSS触发器

异步调用

OSS触发器概述

日志服务 SLS触发器

同步调用

SLS触发器概述

CDN触发器

同步调用

CDN事件触发器概述

表格存储 Tablestore触发器

同步调用

Tablestore触发器概述

消息服务 MNS topic 触发器

异步调用

MNS主题触发器概述

自建 Apache RocketMQ触发器

同步/异步调用

自建Apache RocketMQ触发器

HTTP触发器

同步/异步调用

HTTP触发器概述

通过事件总线EventBridge实现的触发器

消息服务 MNS queue 触发器

同步/异步调用

MNS队列触发器

消息队列 RocketMQ 版触发器

同步/异步调用

RocketMQ触发器

消息队列 RabbitMQ 版触发器

同步/异步调用

RabbitMQ触发器

消息队列 Kafka 版触发器

同步/异步调用

Kafka触发器

消息队列 MQTT 版触发器

同步/异步调用

MQTT触发器

数据传输服务 DTS触发器

同步/异步调用

DTS触发器

云产品事件触发器

触发器名称

调用方式

示例链接

阿里云官方事件源触发器

同步/异步调用

配置云产品事件触发器

  • 本页导读 (1)
文档反馈