分布式消息服務RabbitMQ事件源
更新時間 2025-06-18 17:55:22
最近更新時間: 2025-06-18 17:55:22
分享文章
本文介紹如何在事件總線EventBridge管理控制臺添加分布式消息服務RabbitMQ作為事件流中的事件提供方。
前提條件
事件總線EventBridge
分布式消息服務RabbitMQ
開通分布式消息服務RabbitMQ。
創建所需的vhost和queue。
操作步驟
登錄事件總線管理控制臺。
在左側導航欄,單擊事件流。
在事件流頁面,單擊創建事件流。
在事件源(Source)配置面板,事件提供方選擇分布式消息服務RabbitMQ,選擇vhost和queue等配置然后單擊確認,如圖1所示。
圖1 創建事件流時選擇分布式消息服務RabbitMQ為事件提供方
參數說明
| 參數 | 說明 | 示例 |
|---|---|---|
| RabbitMQ實例 | 選擇分布式消息服務RabbitMQ實例。 | instance-xxx |
| RabbitMQ vhost | 選擇分布式消息服務RabbitMQ vhost。 | / |
| RabbitMQ queue | 選擇分布式消息服務RabbitMQ queue。 | queue-xxx |
事件示例
{
"id": "b5771f76-6cdf-48ed-b1ba-d15418c*****",
"source": "ctyun:rabbitmq",
"specversion": "1.0",
"subject": "ctyun:rabbitmq:bb9fdb4205xxxxx610242ac110002:1******6789:queue/topic-queue",
"time": "2024-03-05T13:52:18.374Z",
"datacontenttype": "application/json;charset=utf-8",
"type": "ctyun.rabbitmq.topic.sendMessage",
"ctyunregion": "bb9fdb4205xxxxx610242ac110002",
"ctyunaccountid": "123456789****",
"data": {
"envelope": {
"messageId": "xx",
"contentEncoding": "UTF-8",
"contentType": "application/json"
},
"body": {
"key": "value"
},
"props": {
"deliveryTag": 98,
"exchange": "",
"redeliver": false,
"routingKey": "housekeeping"
}
}
}data字段包含的參數解釋如下表所示:
| 參數 | 類型 | 示例值 | 描述 |
|---|---|---|---|
| props | Object | 詳見props字段參數解釋 | 消息屬性,詳見props字段參數解釋。 |
| envelope | Object | 詳見envelope字段參數解釋 | 消息的envelope信息,詳見envelope字段參數解釋。 |
| body | Object | {"key":"value"} | 消息體,默認以JSON格式編碼。 |
data字段下envelope屬性包含的參數解釋如下表所示:
| 參數 | 類型 | 示例值 | 描述 |
|---|---|---|---|
| deliveryTag | Integer | 98 | 消息的Tag。 |
| exchange | String | / | 消息的Exchange。 |
| redeliver | Boolean | false | 是否支持重發消息。取值說明如下:
|
| routingKey | String | housekeeping | 消息的路由規則。 |
data字段下props屬性包含的參數解釋如下表所示:
| 參數 | 類型 | 示例值 | 描述 |
|---|---|---|---|
| contentEncoding | String | utf-8 | 消息內容編碼。 |
| messageId | String | f7622d51-e198-41de-a072-77c1ead7**** | 消息ID。 |
| contentType | String | application/json | 消息contentType。 |