全部產品
Search
文件中心

Function Compute:觸發器簡介

更新時間:Oct 25, 2024

觸發器是觸發函數執行的方式。在事件驅動的計算模型中,事件來源是事件的生產者,函數是事件的處理者,而觸發器提供了一種集中、統一的方式來管理不同的事件來源。在事件來源中,當事件發生時,如果滿足觸發器定義的規則,事件來源會自動調用觸發器關聯的函數。

什麼是觸發器

Function Compute提供了一種事件驅動的計算模型。函數的執行是由事件驅動的。函數的執行可以通過Function Compute控制台SDK觸發,也可以由其他一些事件來源來觸發。您可以在指定函數中建立觸發器,該觸發器描述了一組規則,當某個事件滿足這些規則,事件來源就會觸發關聯的函數。

說明

如果您需要使用一個觸發器觸發多個函數,可以結合使用Function ComputeCloudFlow服務。首先通過觸發器觸發一個函數,該函數啟動CloudFlow流程,然後在流程裡您可以調用多個函數。更多資訊,請參見樣本

情境樣本

  • 樣本一 :Object Storage Service中的圖片狀態變更觸發函數執行

    某應用使用Object Storage Service存放上傳的圖片,您可以通過直接調用函數的方式去下載圖片進行處理,並將結果存入Object Storage Service或者其他服務。如果Object Storage Service能夠協助我們關注新上傳的圖片,並且自動去調用關聯的函數,您無需再調用函數,從而簡化了開發和使用流程。OSS觸發器的作用就是關注這些事件並調用Function Compute的函數。配置了OSS觸發器後,當有新圖片上傳,OSS觸發器會自動觸發函數下載並處理圖片。

  • 樣本二:Log ServiceSLS中日誌更新觸發函數執行

    某應用使用Log ServiceSLS定時採集更新的日誌,您可以通過直接調用函數對增量的日誌進行查詢和分析。如果Log ServiceSLS能夠協助我們關注更新的日誌,並自動調用關聯的函數,您無需再調用函數。SLS觸發器的作用就是關注這些事件並調用Function Compute的函數。配置了SLS觸發器後,當有日誌更新,SLS觸發器會自動觸發函數消費增量的日誌。

  • 樣本三:在指定時間觸發函數執行

    某應用需要每隔1小時收集一次資料。您可以每隔1小時通過直接調用函數收集資料並處理。如果Function Compute中的函數能每隔1小時自動執行,您無需再關注時間。定時觸發器的作用就是關注時間事件並調用Function Compute的函數。配置了定時觸發器後,在指定的時間,定時觸發器會自動觸發函數收集和處理資料。

觸發器類型

按照觸發器整合方式,Function Compute支援的觸發器分為以下三類:

  • 雙向整合觸發器:您既可以在Function Compute,又可以在事件來源端配置觸發器。

  • 單向整合觸發器:目前只支援在事件來源端配置觸發器。

  • 雲產品事件觸發程序:支援在Function Compute配置觸發器,同時支援在事件匯流排EventBridge建立函數觸發規則,無需在事件來源端配置。

從函數調用方式的角度,觸發器又可以分為同步調用觸發器和非同步呼叫觸發器,兩種調用方式的區別如下所示。更多資訊,請參見同步調用

  • 同步調用:事件被函數處理後直接返回結果。例如,使用控制台調用函數屬於同步調用。

  • 非同步呼叫:事件在寫入到Function Compute內部隊列後返回結果,Function Compute系統會保證該訊息被可靠地處理。

雙向整合觸發器

觸發器名稱

調用方式

文檔連結

定時觸發器

非同步呼叫

定時觸發器概述

Object Storage Service觸發器

非同步呼叫

OSS觸發器概述

Log Service SLS觸發器

同步調用

SLS觸發器

CDN觸發器

同步調用

CDN事件觸發程序概述

Table Store Tablestore觸發器

同步調用

Tablestore觸發器概述

自建 Apache RocketMQ觸發器

同步/非同步呼叫

自建Apache RocketMQ觸發器

Simple Message Queue (formerly MNS)topic 觸發器

非同步呼叫

輕量訊息佇列(原 MNS)主題觸發器

HTTP觸發器

同步/非同步呼叫

HTTP觸發器概述

通過事件匯流排EventBridge實現的觸發器

Simple Message Queue (formerly MNS)queue 觸發器

同步/非同步呼叫

輕量訊息佇列(原 MNS)隊列觸發器

訊息佇列 RocketMQ 版觸發器

同步/非同步呼叫

RocketMQ觸發器

訊息佇列 RabbitMQ 版觸發器

同步/非同步呼叫

RabbitMQ觸發器

訊息佇列 Kafka 版觸發器

同步/非同步呼叫

Kafka觸發器

Message QueueTT 版觸發器

同步/非同步呼叫

MQTT觸發器

Data Transmission Service觸發器

同步/非同步呼叫

DTS觸發器

單向整合觸發器

說明

單向整合觸發器需要在事件來源端配置觸發器。

觸發器名稱

調用方式

樣本連結

API Gateway觸發器

同步/非同步呼叫

API Gateway觸發器概述

ALB觸發器

同步/非同步呼叫

ALB觸發器

DataHub單向觸發器

同步/非同步呼叫

DataHub單向觸發器

IoT物聯網平台

非同步呼叫

IoT物聯網平台

DataWorks巨量資料開發治理平台

同步/非同步呼叫

DataWorks巨量資料開發治理平台

CloudFlow

同步/非同步呼叫

雲工作流程

雲產品事件觸發程序

觸發器名稱

調用方式

樣本連結

阿里雲官方事件來源觸發器

同步/非同步呼叫

配置雲產品事件觸發程序