本文介紹如何在事件總線EventBridge控制臺添加云消息隊列 RabbitMQ 版作為事件流中的事件提供方。
前提條件
您已購買并部署云消息隊列 RabbitMQ 版實例,且實例處于服務中狀態。具體步驟,請參見步驟一:創建資源。
操作步驟
- 登錄事件總線EventBridge控制臺,在左側導航欄,單擊事件流。
- 在頂部菜單欄,選擇地域,然后單擊創建事件流。
在創建事件流面板,設置任務名稱和描述,配置以下參數,然后單擊保存。
任務創建
在Source(源)配置向導,選擇數據提供方為消息隊列 RabbitMQ 版,設置以下參數,然后單擊下一步。
參數
說明
示例
地域
選擇云消息隊列 RabbitMQ 版源實例所在的地域。
華東1(杭州)
RabbitMQ 實例
選擇生產云消息隊列 RabbitMQ 版消息的源實例。
amqp-cn-7pp2mwbc****
Vhost
選擇源實例中的Vhost。
test
Queue
選擇存儲消息的隊列。
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":"8b09e19b-8cbd-4c46-ab77-9cc39c44****",
"source":"housekeeping.rabbitmq",
"type":"amqp:Queue:SendMessage",
"subject":"acs:amqp:cn-hangzhou:143998900779****:/instances/amqp-cn-zvp2av0m****/vhosts/eb-connect/queues/housekeeping",
"datacontenttype":"application/json;charset=utf-8",
"aliyunaccountid":"143998900779****",
"aliyunoriginalaccountid":"143998900779****",
"aliyunpublishtime":"2021-08-12T06:56:50.783Z",
"aliyuneventbusname":"Housekeeping-Connect",
"time":"2021-08-12T06:56:40.709Z",
"aliyunregionid":"cn-hangzhou",
"data":{
"envelope":{
"deliveryTag":98,
"exchange":"amq.direct",
"redeliver":false,
"routingKey":"housekeeping"
},
"body":{
"Hello":"EventBridge"
},
"props":{
"contentEncoding":"UTF-8",
"messageId":"f7622d51-e198-41de-a072-77c1ead7****"
}
}
}
CloudEvents規范中定義的參數解釋,請參見事件概述。
data字段包含的參數解釋如下表所示。
參數 | 類型 | 示例 | 描述 |
envelope | Map | 消息中的envelope信息。 | |
deliveryTag | Int | 98 | 消息的Tag。 |
exchange | String | amq.direct | 消息的Exchange。 |
redeliver | Boolean | false | 是否支持重發消息。取值說明如下:
|
routingKey | String | housekeeping | 消息的路由規則。 |
body | Map | 消息內容。 | |
Hello | String | EventBridge | 用戶數據。 |
props | Map | 消息屬性。 | |
contentEncoding | String | UTF-8 | 消息內容編碼。 |
messageId | String | f7622d51-e198-41de-a072-77c1ead7**** | 消息ID。每條消息的ID取值唯一。 |