全部產品
Search
文件中心

CloudFlow:EventBridge事件調度

更新時間:Oct 25, 2024

EventBridge事件調度包括雲產品事件調度和自訂事件來源事件調度。雲產品事件調度支援包括彈性計算、儲存服務、資料庫、容器、巨量資料處理、可觀測性服務及中介軟體服務在內的幾乎所有阿里雲官方事件來源,而自訂事件來源事件調度支援包括SLS、Kafka、RocketMQ、RabbitMQ等事件來源的接入。本文介紹如何建立EventBridge事件調度以及工作流程調度的進階功能。

建立EventBridge事件調度

雲產品事件調度

雲產品事件調度能夠實現通過阿里雲產品事件調度工作流程執行,這些事件主要包括CloudMonitor事件、審計事件、雲端服務器事件、阿里雲物聯網IoT事件和部分雲產品營運事件等雲產品事件。本文以雲端服務器為例,介紹如何在控制台建立阿里雲產品事件調度。

功能簡介

您在工作流程控制台提交建立工作流程的請求後,根據工作流程調度的配置資訊,將自動在阿里雲官方事件匯流排default下建立一個事件規則rule-created-by-fnf-隨機串。建立完成後,您可以在工作流程查看工作流程調度資訊,也可以在事件匯流排EventBridge控制台查看自動建立的事件規則資訊。當事件來源指定類型的事件投遞到事件匯流排時,將調度該工作流程調度關聯的工作流程執行一次。

注意事項

事件匯流排EventBridge的雲端服務專用事件匯流排default上最多隻能建立10個事件規則,超過10個之後將無法再建立雲產品事件調度。

前提條件

建立雲產品事件調度

  1. 登入雲工作流程控制台,然後在頂部功能表列,選擇地區。

  2. 在左側導覽列,選擇工作流程列表,然後在工作流程列表頁面,單擊目標工作流程。

  3. 在工作流程詳情頁面,單擊工作流程調度頁簽,然後單擊建立工作流程調度

  4. 建立工作流程調度面板,調度類型選擇Elastic Compute Service,設定相關配置項,然後單擊確定。基礎配置項說明如下所示。

    配置項

    操作

    本文樣本

    名稱

    填寫自訂的工作流程調度名稱。

    ecs-schedule

    事件類型

    選擇自訂事件類型選中全部事件類型。如果選擇自訂事件類型,您可以選擇雲端服務器的一個或多個事件類型。

    自訂事件類型ecs:Disk:ConvertToPostpaidCompleted 保留雲端硬碟

    事件模式內容

    不支援手動編輯,您在事件類型參數中選擇事件類型後,事件模式內容自動填滿。關於事件模式的資訊,請參見事件模式

    {
     "source": [
     "acs.ecs"
     ],
     "type": [
     "ecs:Disk:ConvertToPostpaidCompleted"
     ]
    }

    關於推送配置、重試和死信等進階配置項說明,請參見工作流程調度進階功能。建立完成後,您可以在工作流程詳情頁面的工作流程調度頁簽,根據介面提示查看、編輯、刪除或禁用/啟用工作流程。

HTTP調度

HTTP請求作為事件來源通過EventBridgeCloudFlow整合後,通過HTTP調度能夠觸發關聯工作流程執行。本文介紹如何在控制台建立HTTP調度。

注意事項

建立的自訂匯流排以及事件規則數量超過上限後,將無法再建立事件模式的HTTP調度。在單個阿里雲帳號單個地區維度下,關於建立工作流程調度涉及的資源數量的限制,請參見使用限制

前提條件

建立HTTP調度

  1. 登入雲工作流程控制台,然後在頂部功能表列,選擇地區。

  2. 在左側導覽列,選擇工作流程列表,然後在工作流程列表頁面,單擊目標工作流程。

  3. 在工作流程詳情頁面,單擊工作流程調度頁簽,然後單擊建立工作流程調度

  4. 建立工作流程調度面板,調度類型選擇HTTP/HTTPS 觸發,設定相關配置項,然後單擊確定。基礎配置項說明如下所示。

    配置項

    操作

    本文樣本

    名稱

    填寫自訂的工作流程調度名稱。

    https-schedule

    請求類型

    選擇HTTPSHTTPHTTP&HTTPS。

    HTTP

    要求方法

    選擇支援的HTTP要求方法。取值說明如下。

    • GET

    • POST

    • PUT

    • DELETE

    • HEAD

    • PATCH

    GET

    安全配置

    選擇安全配置的類型。取值說明如下。

    • 無需配置:無需進行安全配置,接收到的所有URL請求均可觸發工作流程執行。

    • IP網段:輸入正確的IP地址或者IP網段。只有使用該IP地址或該IP網段內的IP地址訪問的URL請求支援觸發工作流程執行。最多支援添加5個IP地址或者IP網段。

    • 安全網域名稱:輸入安全的網域名稱資訊。只有使用該網域名稱訪問的URL請求支援觸發工作流程執行。最多支援添加5個安全網域名稱。

    IP網段:10.45.12.0/24

    關於推送配置、重試和死信等進階配置項說明,請參見工作流程調度進階功能。建立完成後,您可以在工作流程詳情頁面的工作流程調度頁簽,根據介面提示查看、編輯、刪除或禁用/啟用工作流程。

MNS調度

注意事項

  • 作為事件來源的Simple Message Queue (formerly MNS)必須和建立工作流程調度的工作流程所在的地區相同。

  • 建立的事件流數量超過上限後,將無法再建立事件模式的MNS調度。在單個阿里雲帳號單個地區維度下,關於建立工作流程調度涉及的資源數量的限制,請參見使用限制

前提條件

建立工作流程調度

  1. 登入雲工作流程控制台,然後在頂部功能表列,選擇地區。

  2. 在左側導覽列,選擇工作流程列表,然後在工作流程列表頁面,單擊目標工作流程。

  3. 在工作流程詳情頁面,單擊工作流程調度頁簽,然後單擊建立工作流程調度

  4. 建立工作流程調度面板,調度類型選擇Simple Message Queue (formerly MNS),設定相關配置項,然後單擊確定。基礎配置項說明如下所示。

    配置項

    操作

    本文樣本

    名稱

    填寫自訂的工作流程調度名稱。

    mns-schedule

    隊列名稱

    選擇已建立的Simple Message Queue (formerly MNS)

    MyQueue

    Base64 解碼

    如果需要將MNS的資料解碼後進行投遞,請勾選開啟 Base64 解碼複選框。

    開啟 Base64 解碼

    關於推送配置、重試和死信等進階配置項說明,請參見工作流程調度進階功能。建立完成後,您可以在工作流程詳情頁面的工作流程調度頁簽,根據介面提示查看、編輯、刪除或禁用/啟用工作流程。

Kafka調度

注意事項

  • 作為事件來源的訊息佇列Kafka版執行個體必須和建立工作流程調度的工作流程在相同的地區。

  • 建立的事件流數量超過上限後,將無法再建立Kafka調度。單個阿里雲帳號單個地區維度下,關於建立工作流程調度涉及的資源數量的限制,請參見使用限制

前提條件

建立Kafka工作流程調度

  1. 登入雲工作流程控制台,然後在頂部功能表列,選擇地區。

  2. 在左側導覽列,選擇工作流程列表,然後在工作流程列表頁面,單擊目標工作流程。

  3. 在工作流程詳情頁面,單擊工作流程調度頁簽,然後單擊建立工作流程調度

  4. 建立工作流程調度面板,調度類型選擇訊息佇列 Kafka 版,設定相關配置項,然後單擊確定。基礎配置項說明如下所示。

    配置項

    操作

    本文樣本

    名稱

    填寫自訂的工作流程調度名稱。

    kafka-schedule

    Kafka 執行個體

    選擇已建立的訊息佇列Kafka版執行個體。

    alikafka_pre-cn-i7m2t7t1****

    Topic

    選擇已建立的訊息佇列Kafka版執行個體的Topic。

    topic1

    Group ID

    選擇已建立的訊息佇列Kafka版執行個體的Group ID。

    重要

    請使用獨立的Group ID來建立工作流程調度,不要與已有的業務混用Group ID,否則會影響已有的訊息收發。

    GID_group1

    消費任務並發數

    消費者的並發數量,取值範圍為[1,Topic的分區數]。

    2

    消費位點

    選擇訊息的消費位點,即訊息佇列Kafka版從事件匯流排開始拉取訊息的位置。取值說明如下。

    • 最早位點:從最早位點開始消費。

    • 最新位點:從最新位點開始消費。

    最新位點

    網路設定

    選擇路由訊息的網路類型。取值說明如下。

    • 預設網路:預設使用部署Kafka執行個體時選擇的VPC IDvSwitch ID

    • 自建公網:需選擇另外的Virtual Private Cloud交換器安全性群組

    預設網路

    關於推送配置、重試和死信等進階配置項說明,請參見工作流程調度進階功能。建立完成後,您可以在工作流程詳情頁面的工作流程調度頁簽,根據介面提示查看、編輯、刪除或禁用/啟用工作流程。

RocketMQ調度

注意事項

  • 作為事件來源的訊息佇列RocketMQ版的執行個體必須和建立調度的工作流程在相同的地區。

  • 建立的事件流數量超過上限後,將無法再建立事件模式的RocketMQ調度。單個阿里雲帳號單個地區維度下,關於建立工作流程調度涉及的資源數量的限制,請參見使用限制

前提條件

建立RocketMQ調度

  1. 登入雲工作流程控制台,然後在頂部功能表列,選擇地區。

  2. 在左側導覽列,選擇工作流程列表,然後在工作流程列表頁面,單擊目標工作流程。

  3. 在工作流程詳情頁面,單擊工作流程調度頁簽,然後單擊建立工作流程調度

  4. 建立工作流程調度面板,調度類型選擇訊息佇列 RocketMQ 版,設定相關配置項,然後單擊確定。基礎配置項說明如下所示。

    配置項

    操作

    本文樣本

    名稱

    填寫自訂的工作流程調度名稱。

    rocketmq-schedule

    RocketMQ 執行個體

    選擇已建立的訊息佇列RocketMQ版的執行個體。

    MQ_INST_164901546557****_BX7****

    Topic

    選擇已建立的訊息佇列RocketMQ版執行個體的Topic。

    topic1

    Tag

    填寫訊息過濾標籤。只有收到包含此處設定的過濾標籤字串的訊息時,才會觸發工作流程執行。

    tag

    Group ID

    選擇已建立的訊息佇列RocketMQ版執行個體的Group ID。推薦您選擇快速建立,自動建立以GID_FNF_TRIGGER_{uuid}_{timestamp} 命名的Group ID。

    重要

    請使用獨立的Group ID來建立工作流程調度,不要與已有的業務混用Group ID,否則會影響已有的訊息收發。

    GID_group1

    消費位點

    選擇訊息的消費位點,即訊息佇列RocketMQ版從事件匯流排開始拉取訊息的位置。取值說明如下。

    • 最新位點:從最新位點開始消費。

    • 最早位點:從最早位點開始消費。

    • 指定時間戳記:從指定時間戳記開始消費。

    最新位點

    關於推送配置、重試和死信等進階配置項說明,請參見工作流程調度進階功能。建立完成後,您可以在工作流程詳情頁面的工作流程調度頁簽,根據介面提示查看、編輯、刪除或禁用/啟用工作流程。

RabbitMQ調度

注意事項

  • 作為觸發源的訊息佇列RabbitMQ版執行個體必須和建立調度的工作流程在相同的地區。

  • 建立的事件流數量超過上限後,將無法再建立事件模式的RabbitMQ調度。單個阿里雲帳號單個地區維度下,關於建立工作流程調度涉及的資源數量的限制,請參見使用限制

前提條件

建立RabbitMQ調度

  1. 登入雲工作流程控制台,然後在頂部功能表列,選擇地區。

  2. 在左側導覽列,選擇工作流程列表,然後在工作流程列表頁面,單擊目標工作流程。

  3. 在工作流程詳情頁面,單擊工作流程調度頁簽,然後單擊建立工作流程調度

  4. 建立工作流程調度面板,調度類型選擇訊息佇列 RabbitMQ 版,設定相關配置項,然後單擊確定。基礎配置項說明如下所示。

    配置項

    操作

    本文樣本

    名稱

    填寫自訂的工作流程調度名稱。

    rabbitmq-schedule

    RabbitMQ 執行個體

    選擇已建立的訊息佇列RabbitMQ版的執行個體。

    amqp-cn-i7m2l6m2****

    Vhost

    選擇已建立的訊息佇列RabbitMQ版執行個體的Vhost。

    myhost-1

    Queue

    選擇已建立的訊息佇列RabbitMQ版執行個體的Queue。

    myqueue-1

    關於推送配置、重試和死信等進階配置項說明,請參見工作流程調度進階功能。建立完成後,您可以在工作流程詳情頁面的工作流程調度頁簽,根據介面提示查看、編輯、刪除或禁用/啟用工作流程。

SLS調度

通過建立Log ServiceSLS調度(以下簡稱SLS調度)將Log ServiceSLS與雲工作流程串連起來,當有新日誌產生時觸發工作流程執行,對日誌進行處理。本文介紹如何在控制台建立SLS調度。

注意事項

  • 作為觸發源的Log ServiceSLS專案必須和建立調度的工作流程在相同的地區。

  • 建立的事件流數量超過上限後,將無法再建立事件模式的SLS調度。在單個阿里雲帳號單個地區維度下,關於建立工作流程調度涉及的資源數量的限制,請參見使用限制

前提條件

建立SLS調度

  1. 登入雲工作流程控制台,然後在頂部功能表列,選擇地區。

  2. 在左側導覽列,選擇工作流程列表,然後在工作流程列表頁面,單擊目標工作流程。

  3. 在工作流程詳情頁面,單擊工作流程調度頁簽,然後單擊建立工作流程調度

  4. 建立工作流程調度面板,調度類型選擇Log Service SLS,設定相關配置項,然後單擊確定。基礎配置項說明如下所示。

    配置項

    操作

    本文樣本

    名稱

    填寫自訂的工作流程調度名稱。

    sls-schedule

    記錄項目

    選擇建立的Log ServiceSLS的Project。

    test-Project

    日誌庫

    選擇建立的Log ServiceSLS的Logstore

    test-LogStore

    起始消費位點

    起始消費位點,可以選擇最早或最新位點,也可以從指定時間開始消費。

    最新位點

    角色配置

    授權事件匯流排EventBridge使用此角色讀取SLS日誌內容。

    testRole

    關於推送配置、重試和死信等進階配置項說明,請參見工作流程調度進階功能。建立完成後,您可以在工作流程詳情頁面的工作流程調度頁簽,根據介面提示查看、編輯、刪除或禁用/啟用工作流程。

MQTT調度

ApsaraMQ for MQTT作為事件來源通過EventBridgeCloudFlow調度整合後,通過雲Message QueueTT 版調度能夠觸發關聯工作流程執行,通過CloudFlow可以對發布到ApsaraMQ for MQTT的訊息進行自訂處理。本文介紹如何在控制台建立MQTT調度。

注意事項

  • 作為觸發源的雲Message QueueTT版執行個體必須和建立調度的工作流程在相同的地區。

  • 建立的事件流數量超過上限後,將無法再建立事件模式的MQTT調度。在單個阿里雲帳號單個地區維度下,關於建立工作流程調度涉及的資源數量的限制,請參見使用限制

前提條件

建立MQTT調度

  1. 登入雲工作流程控制台,然後在頂部功能表列,選擇地區。

  2. 在左側導覽列,選擇工作流程列表,然後在工作流程列表頁面,單擊目標工作流程。

  3. 在工作流程詳情頁面,單擊工作流程調度頁簽,然後單擊建立工作流程調度

  4. 建立工作流程調度面板,調度類型選擇Message QueueTT版,設定相關配置項,然後單擊確定。基礎配置項說明如下所示。

    配置項

    操作

    本文樣本

    名稱

    填寫自訂的工作流程調度名稱。

    mqtt-schedule

    MQTT 執行個體

    選擇已建立的MQTT執行個體。

    mqtt-xxx

    MQTT Topic

    選擇已建立的MQTT執行個體的Topic。

    testTopic

    關於推送配置、重試和死信等進階配置項說明,請參見工作流程調度進階功能。建立完成後,您可以在工作流程詳情頁面的工作流程調度頁簽,根據介面提示查看、編輯、刪除或禁用/啟用工作流程。

DTS調度

Data Transmission Service (DTS)作為事件來源通過EventBridgeCloudFlow整合後,通過DTS調度能夠觸發關聯工作流程的執行。本文介紹如何在流量控制台建立DTS調度。

注意事項

  • 作為觸發源的DTS資料訂閱任務必須和建立調度的工作流程在相同的地區。

  • 建立的事件流數量超過上限後,將無法再建立事件模式的DTS調度。在單個阿里雲帳號單個地區維度下,關於建立工作流程調度涉及的資源數量的限制,請參見使用限制

前提條件

建立DTS調度

  1. 登入雲工作流程控制台,然後在頂部功能表列,選擇地區。

  2. 在左側導覽列,選擇工作流程列表,然後在工作流程列表頁面,單擊目標工作流程。

  3. 在工作流程詳情頁面,單擊工作流程調度頁簽,然後單擊建立工作流程調度

  4. 建立工作流程調度面板,調度類型選擇Data Transmission Service,設定相關配置項,然後單擊確定。基礎配置項說明如下所示。

    配置項

    操作

    本文樣本

    名稱

    填寫自訂的工作流程調度名稱。

    dts-schedule

    資料訂閱任務

    已建立的資料訂閱任務名稱。

    dtsqntc2***

    消費組

    已建立的用於消費訂閱任務的消費組名稱。

    test

    帳號

    建立消費組時設定的帳號。

    test

    密碼

    建立消費組時設定的密碼。

    *******

    消費位點

    期望消費第一條資料的時間戳記,消費位點必須在訂閱執行個體的資料範圍之內。

    2022-06-21 00:00:00

    關於推送配置、重試和死信等進階配置項說明,請參見工作流程調度進階功能。建立完成後,您可以在工作流程詳情頁面的工作流程調度頁簽,根據介面提示查看、編輯、刪除或禁用/啟用工作流程。

工作流程調度進階功能

推送格式

用於指定Event參數中每個資料元素的格式。

  • CloudEvents:以通用格式描述事件數目據的規範,旨在簡化不同服務和平台間的事件聲明和傳輸。

  • RawData:只投遞CloudEvents中資料欄位的內容,不包含CloudEvents格式中的其它中繼資料資訊。

批量推送

開啟批量推送後,需設定批量推送條數和推量推送間隔。

  • 批量推送條數:一次調用函數發送的最大批量訊息條數,當積壓的訊息數量到達設定值時才會發送請求。取值範圍為[1,10000]。

  • 批量推送間隔:調用函數的時間間隔,系統每到間隔時間點會將訊息彙總後發給CloudFlow。取值範圍為[0,15],單位為秒。0秒錶示無需等待,即時投遞。

批量推送案例:

  • 案例一:

    您設定的批量推送條數為10條,每條訊息大小為1 KB,推量推送間隔為15s。在10s內訊息條數累積10條,則立即觸發推送,無需等到15s再推送。

  • 案例二:

    您設定的批量推送條數為32條,每條訊息大小為1 KB,推量推送間隔為15s。在15s內訊息積累10條,則立即觸發推送,無需等待訊息積累到32條後再推送。

  • 案例三:

    您設定的批量推送條數為20條,每條訊息大小為2 KB,推量推送間隔為15s。在10s內訊息積累40條(訊息累積大小40*2 KB=80 KB),達到工作流程Input大小限制數,則立即觸發推送,第一批彙總32條訊息推送到CloudFlow,第二批彙總8條訊息推送到CloudFlow

重試策略

事件推送失敗時,可按配置的重試策略進行重試。重試策略選項如下。

  • 退避重試:重試3次,每次重試的時間間隔為介於10s~20s的隨機值。

  • 指數衰減重試:預設重試策略。重試176次,每次重試的時間間隔按照指數遞增至512s,總計重試時間為24小時,即重試時間間隔為1s、2s、4s、8s、16s、32s、64s、128s、256s、512s……512s(共計167次間隔512s)。

容錯策略

當發生錯誤時是否選擇容錯。

  • 允許容錯

    請求失敗且重試失敗後,跳過此請求,繼續處理下一條請求。

  • 禁止容錯

    請求失敗且重試失敗後,消費任務阻塞。

無效信件佇列

僅當開啟允許容錯時,可配置無效信件佇列。

  • 如果啟用無效信件佇列,未被處理或超過重試次數的訊息會被投遞到目標服務中。CloudFlow支援的目標服務包括Simple Message Queue (formerly MNS)、訊息佇列RocketMQ版、訊息佇列Kafka版和事件匯流排EventBridge,您可以根據需求選擇不同的隊列類型。

  • 如果未啟用無效信件佇列,超過重試次數的訊息會被丟棄。