雲訊息佇列 RabbitMQ 版
本文介紹如何在事件匯流排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
批量推送间隔(单位:秒)
調用函數的間隔時間,系統每到間隔時間點會將訊息彙總後發給Function Compute,取值範圍為[0,15],單位為秒。0秒錶示無等待時間,直接投遞。
3
-
在Filtering(过滤)、Transform(转换)及Sink(目标)設定精靈,設定事件過濾、轉換規則及事件目標。事件轉換的配置說明,請參見使用Function Compute實現訊息資料清洗。
-
-
任務屬性
設定事件流的重試策略及無效信件佇列。更多資訊,請參見重試和死信。
-
-
返回事件流頁面,找到建立好的事件流,在其右側操作欄,單擊啟用。
啟用事件流後,會有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取值唯一。 |