本文介紹如何應用事件總線EventBridge的事件流功能實現輕量消息隊列(原 MNS)的消息路由。
前提條件
您已創建輕量消息隊列(原 MNS)隊列。具體步驟,請參見開通輕量消息隊列(原 MNS)并授權。
背景信息
事件流作為更輕量、實時端到端的流式事件通道,提供輕量流式數據的過濾和轉換的能力,在不同的數據倉庫之間、數據處理程序之間、數據分析和處理系統之間進行數據同步。源端輕量消息隊列(原 MNS)生產的消息可以通過事件流這個通道被路由到目標端的輕量消息隊列(原 MNS),無需定義事件總線。更多信息,請參見事件流概述。
步驟一:創建事件流
事件總線EventBridge暫不支持跨地域創建輕量消息隊列(原 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(目標)配置向導,選擇服務類型為輕量消息隊列(原 MNS),配置以下參數,單擊保存。
參數
說明
示例
隊列名稱
選擇已創建的輕量消息隊列(原 MNS)隊列。
test
開啟 Base64 編碼
選擇是否開啟Base64編碼,如不開啟,會導致接收到的消息為亂碼。
是
消息體(body)
選擇事件內容轉換類型。更多信息,請參考事件內容轉換。
完整事件
任務屬性
設置事件流的重試策略及死信隊列。更多信息,請參見重試和死信。
返回事件流頁面,找到創建好的事件流,在其右側操作欄,單擊啟用。
啟用事件流后,會有30秒~60秒的延遲時間,您可以在事件流頁面的狀態欄查看啟動進度。