EventBridge事件調度包括雲產品事件調度和自訂事件來源事件調度。雲產品事件調度支援包括彈性計算、儲存服務、資料庫、容器、巨量資料處理、可觀測性服務及中介軟體服務在內的幾乎所有阿里雲官方事件來源,而自訂事件來源事件調度支援包括SLS、Kafka、RocketMQ、RabbitMQ等事件來源的接入。本文介紹如何建立EventBridge事件調度以及工作流程調度的進階功能。
建立EventBridge事件調度
雲產品事件調度
雲產品事件調度能夠實現通過阿里雲產品事件調度工作流程執行,這些事件主要包括CloudMonitor事件、審計事件、雲端服務器事件、阿里雲物聯網IoT事件和部分雲產品營運事件等雲產品事件。本文以雲端服務器為例,介紹如何在控制台建立阿里雲產品事件調度。
功能簡介
您在工作流程控制台提交建立工作流程的請求後,根據工作流程調度的配置資訊,將自動在阿里雲官方事件匯流排default下建立一個事件規則rule-created-by-fnf-隨機串。建立完成後,您可以在工作流程查看工作流程調度資訊,也可以在事件匯流排EventBridge控制台查看自動建立的事件規則資訊。當事件來源指定類型的事件投遞到事件匯流排時,將調度該工作流程調度關聯的工作流程執行一次。
注意事項
事件匯流排EventBridge的雲端服務專用事件匯流排default上最多隻能建立10個事件規則,超過10個之後將無法再建立雲產品事件調度。
前提條件
EventBridge
CloudFlow
建立雲產品事件調度
登入雲工作流程控制台,然後在頂部功能表列,選擇地區。
在左側導覽列,選擇工作流程列表,然後在工作流程列表頁面,單擊目標工作流程。
在工作流程詳情頁面,單擊工作流程調度頁簽,然後單擊建立工作流程調度。
在建立工作流程調度面板,調度類型選擇Elastic Compute Service,設定相關配置項,然後單擊確定。基礎配置項說明如下所示。
配置項
操作
本文樣本
名稱
填寫自訂的工作流程調度名稱。
ecs-schedule
事件類型
選擇自訂事件類型或選中全部事件類型。如果選擇自訂事件類型,您可以選擇雲端服務器的一個或多個事件類型。
自訂事件類型,ecs:Disk:ConvertToPostpaidCompleted 保留雲端硬碟
事件模式內容
不支援手動編輯,您在事件類型參數中選擇事件類型後,事件模式內容自動填滿。關於事件模式的資訊,請參見事件模式
{ "source": [ "acs.ecs" ], "type": [ "ecs:Disk:ConvertToPostpaidCompleted" ] }關於推送配置、重試和死信等進階配置項說明,請參見工作流程調度進階功能。建立完成後,您可以在工作流程詳情頁面的工作流程調度頁簽,根據介面提示查看、編輯、刪除或禁用/啟用工作流程。
HTTP調度
HTTP請求作為事件來源通過EventBridge與CloudFlow整合後,通過HTTP調度能夠觸發關聯工作流程執行。本文介紹如何在控制台建立HTTP調度。
注意事項
建立的自訂匯流排以及事件規則數量超過上限後,將無法再建立事件模式的HTTP調度。在單個阿里雲帳號單個地區維度下,關於建立工作流程調度涉及的資源數量的限制,請參見使用限制。
前提條件
EventBridge
CloudFlow
建立HTTP調度
登入雲工作流程控制台,然後在頂部功能表列,選擇地區。
在左側導覽列,選擇工作流程列表,然後在工作流程列表頁面,單擊目標工作流程。
在工作流程詳情頁面,單擊工作流程調度頁簽,然後單擊建立工作流程調度。
在建立工作流程調度面板,調度類型選擇HTTP/HTTPS 觸發,設定相關配置項,然後單擊確定。基礎配置項說明如下所示。
配置項
操作
本文樣本
名稱
填寫自訂的工作流程調度名稱。
https-schedule
請求類型
選擇HTTPS、HTTP或HTTP&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調度。在單個阿里雲帳號單個地區維度下,關於建立工作流程調度涉及的資源數量的限制,請參見使用限制。
前提條件
EventBridge
CloudFlow
Simple Message Queue (formerly MNS)
建立工作流程調度
登入雲工作流程控制台,然後在頂部功能表列,選擇地區。
在左側導覽列,選擇工作流程列表,然後在工作流程列表頁面,單擊目標工作流程。
在工作流程詳情頁面,單擊工作流程調度頁簽,然後單擊建立工作流程調度。
在建立工作流程調度面板,調度類型選擇Simple Message Queue (formerly MNS),設定相關配置項,然後單擊確定。基礎配置項說明如下所示。
配置項
操作
本文樣本
名稱
填寫自訂的工作流程調度名稱。
mns-schedule
隊列名稱
選擇已建立的Simple Message Queue (formerly MNS)。
MyQueue
Base64 解碼
如果需要將MNS的資料解碼後進行投遞,請勾選開啟 Base64 解碼複選框。
開啟 Base64 解碼
關於推送配置、重試和死信等進階配置項說明,請參見工作流程調度進階功能。建立完成後,您可以在工作流程詳情頁面的工作流程調度頁簽,根據介面提示查看、編輯、刪除或禁用/啟用工作流程。
Kafka調度
注意事項
作為事件來源的訊息佇列Kafka版執行個體必須和建立工作流程調度的工作流程在相同的地區。
建立的事件流數量超過上限後,將無法再建立Kafka調度。單個阿里雲帳號單個地區維度下,關於建立工作流程調度涉及的資源數量的限制,請參見使用限制。
前提條件
EventBridge
CloudFlow
ApsaraMQ for Kafka
建立Kafka工作流程調度
登入雲工作流程控制台,然後在頂部功能表列,選擇地區。
在左側導覽列,選擇工作流程列表,然後在工作流程列表頁面,單擊目標工作流程。
在工作流程詳情頁面,單擊工作流程調度頁簽,然後單擊建立工作流程調度。
在建立工作流程調度面板,調度類型選擇訊息佇列 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 ID和vSwitch ID。
自建公網:需選擇另外的Virtual Private Cloud、交換器和安全性群組。
預設網路
關於推送配置、重試和死信等進階配置項說明,請參見工作流程調度進階功能。建立完成後,您可以在工作流程詳情頁面的工作流程調度頁簽,根據介面提示查看、編輯、刪除或禁用/啟用工作流程。
RocketMQ調度
注意事項
作為事件來源的訊息佇列RocketMQ版的執行個體必須和建立調度的工作流程在相同的地區。
建立的事件流數量超過上限後,將無法再建立事件模式的RocketMQ調度。單個阿里雲帳號單個地區維度下,關於建立工作流程調度涉及的資源數量的限制,請參見使用限制。
前提條件
EventBridge
CloudFlow
ApsaraMQ for RocketMQ
建立RocketMQ調度
登入雲工作流程控制台,然後在頂部功能表列,選擇地區。
在左側導覽列,選擇工作流程列表,然後在工作流程列表頁面,單擊目標工作流程。
在工作流程詳情頁面,單擊工作流程調度頁簽,然後單擊建立工作流程調度。
在建立工作流程調度面板,調度類型選擇訊息佇列 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調度。單個阿里雲帳號單個地區維度下,關於建立工作流程調度涉及的資源數量的限制,請參見使用限制。
前提條件
EventBridge
CloudFlow
ApsaraMQ for RabbitMQ
建立RabbitMQ調度
登入雲工作流程控制台,然後在頂部功能表列,選擇地區。
在左側導覽列,選擇工作流程列表,然後在工作流程列表頁面,單擊目標工作流程。
在工作流程詳情頁面,單擊工作流程調度頁簽,然後單擊建立工作流程調度。
在建立工作流程調度面板,調度類型選擇訊息佇列 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調度。在單個阿里雲帳號單個地區維度下,關於建立工作流程調度涉及的資源數量的限制,請參見使用限制。
前提條件
EventBridge
CloudFlow
Simple Log Service
建立SLS調度
登入雲工作流程控制台,然後在頂部功能表列,選擇地區。
在左側導覽列,選擇工作流程列表,然後在工作流程列表頁面,單擊目標工作流程。
在工作流程詳情頁面,單擊工作流程調度頁簽,然後單擊建立工作流程調度。
在建立工作流程調度面板,調度類型選擇Log Service SLS,設定相關配置項,然後單擊確定。基礎配置項說明如下所示。
配置項
操作
本文樣本
名稱
填寫自訂的工作流程調度名稱。
sls-schedule
記錄項目
選擇建立的Log ServiceSLS的Project。
test-Project
日誌庫
選擇建立的Log ServiceSLS的Logstore
test-LogStore
起始消費位點
起始消費位點,可以選擇最早或最新位點,也可以從指定時間開始消費。
最新位點
角色配置
授權事件匯流排EventBridge使用此角色讀取SLS日誌內容。
testRole
關於推送配置、重試和死信等進階配置項說明,請參見工作流程調度進階功能。建立完成後,您可以在工作流程詳情頁面的工作流程調度頁簽,根據介面提示查看、編輯、刪除或禁用/啟用工作流程。
MQTT調度
ApsaraMQ for MQTT作為事件來源通過EventBridge與CloudFlow調度整合後,通過雲Message QueueTT 版調度能夠觸發關聯工作流程執行,通過CloudFlow可以對發布到ApsaraMQ for MQTT的訊息進行自訂處理。本文介紹如何在控制台建立MQTT調度。
注意事項
作為觸發源的雲Message QueueTT版執行個體必須和建立調度的工作流程在相同的地區。
建立的事件流數量超過上限後,將無法再建立事件模式的MQTT調度。在單個阿里雲帳號單個地區維度下,關於建立工作流程調度涉及的資源數量的限制,請參見使用限制。
前提條件
EventBridge
CloudFlow
ApsaraMQ for MQTT
建立MQTT調度
登入雲工作流程控制台,然後在頂部功能表列,選擇地區。
在左側導覽列,選擇工作流程列表,然後在工作流程列表頁面,單擊目標工作流程。
在工作流程詳情頁面,單擊工作流程調度頁簽,然後單擊建立工作流程調度。
在建立工作流程調度面板,調度類型選擇Message QueueTT版,設定相關配置項,然後單擊確定。基礎配置項說明如下所示。
配置項
操作
本文樣本
名稱
填寫自訂的工作流程調度名稱。
mqtt-schedule
MQTT 執行個體
選擇已建立的MQTT執行個體。
mqtt-xxx
MQTT Topic
選擇已建立的MQTT執行個體的Topic。
testTopic
關於推送配置、重試和死信等進階配置項說明,請參見工作流程調度進階功能。建立完成後,您可以在工作流程詳情頁面的工作流程調度頁簽,根據介面提示查看、編輯、刪除或禁用/啟用工作流程。
DTS調度
Data Transmission Service (DTS)作為事件來源通過EventBridge與CloudFlow整合後,通過DTS調度能夠觸發關聯工作流程的執行。本文介紹如何在流量控制台建立DTS調度。
注意事項
作為觸發源的DTS資料訂閱任務必須和建立調度的工作流程在相同的地區。
建立的事件流數量超過上限後,將無法再建立事件模式的DTS調度。在單個阿里雲帳號單個地區維度下,關於建立工作流程調度涉及的資源數量的限制,請參見使用限制。
前提條件
EventBridge
CloudFlow
Data Transmission Service
建立DTS調度
登入雲工作流程控制台,然後在頂部功能表列,選擇地區。
在左側導覽列,選擇工作流程列表,然後在工作流程列表頁面,單擊目標工作流程。
在工作流程詳情頁面,單擊工作流程調度頁簽,然後單擊建立工作流程調度。
在建立工作流程調度面板,調度類型選擇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,您可以根據需求選擇不同的隊列類型。
如果未啟用無效信件佇列,超過重試次數的訊息會被丟棄。