本文介紹如何在事件總線EventBridge控制臺添加輕量消息隊列(原 MNS)作為事件流中的事件提供方。
前提條件
您已創建輕量消息隊列(原 MNS)隊列。具體步驟,請參見開通輕量消息隊列(原 MNS)并授權。
操作步驟
- 登錄事件總線EventBridge控制臺,在左側導航欄,單擊事件流。
- 在頂部菜單欄,選擇地域,然后單擊創建事件流。
在創建事件流面板,設置任務名稱和描述,配置以下參數,然后單擊保存。
任務創建
在Source(源)配置向導,選擇數據提供方為輕量消息隊列(原 MNS),配置以下參數,然后單擊下一步。
參數
說明
示例
隊列名稱
選擇輕量消息隊列(原 MNS)。
test-queue
Base64 解碼
勾選此項會幫助您將輕量消息隊列(原 MNS)的數據解碼后進行投遞。
test
批量推送
批量推送可幫您批量聚合多個事件,當批量推送條數和批量推送間隔(單位:秒)兩者條件達到其一時即會觸發批量推送。
例如:您設置的推送條數為100 條,間隔時間為15 s,在10 s內消息條數已達到100條,那么該次推送則不會等15 s后再推送。
開啟
批量推送條數
調用函數發送的最大批量消息條數,當積壓的消息數量到達設定值時才會發送請求,取值范圍為 [1,10000]。
100
批量推送間隔(單位:秒)
調用函數的間隔時間,系統每到間隔時間點會將消息聚合后發給函數計算,取值范圍為[0,15],單位為秒。0秒表示無等待時間,直接投遞。
3
在Filtering(過濾)、Transform(轉換)及Sink(目標)配置向導,設置事件過濾、轉換規則及事件目標。事件轉換的配置說明,請參見使用函數計算實現消息數據清洗。
任務屬性
設置事件流的重試策略及死信隊列。更多信息,請參見重試和死信。
返回事件流頁面,找到創建好的事件流,在其右側操作欄,單擊啟用。
啟用事件流后,會有30秒~60秒的延遲時間,您可以在事件流頁面的狀態欄查看啟動進度。
事件示例
{
"specversion":"1.0",
"id":"bffb9722-9c48-407b-9895-b038f78f****",
"source":"acs:mns",
"type":"mns:Queue:SendMessage",
"subject":"acs:mns:cn-hangzhou:123456789098****:queues/zeus",
"datacontenttype":"application/json; charset=utf-8",
"time":"2021-04-08T06:28:17.093Z",
"aliyunpublishtime":"2021-04-08T06:30:31.367Z",
"aliyuneventbusname":"mybus",
"data":{
"requestId":"606EA3074344430D4C81****",
"messageId":"C6DB60D1574661357FA227277445****",
"messageBody":"TEST"
}
}
CloudEvents規范中定義的參數解釋,請參見事件概述。
data字段包含的參數解釋如下表所示。
參數 | 類型 | 示例 | 描述 |
requestId | String | 606EA3074344430D4C81**** | 請求ID。每個請求的ID取值唯一。 |
messageId | String | C6DB60D1574661357FA227277445**** | 消息ID。每條消息的ID取值唯一。 |
messageBody | String | TEST | 消息內容。 |