自定義分布式消息服務RabbitMQ事件源
更新時間 2025-06-18 17:55:20
最近更新時間: 2025-06-18 17:55:20
分享文章
本文介紹如何在事件總線EventBridge管理控制臺添加分布式消息服務RabbitMQ類型的自定義事件源。
前提條件
事件總線EventBridge
分布式消息服務RabbitMQ
開通分布式消息服務RabbitMQ。
創建實例、并創建vhost和queue。
操作步驟
登錄事件總線管理控制臺。
在左側導航欄,單擊事件總線。
在事件總線頁面,單擊目標總線名稱。
在左側導航欄,單擊事件源。
在事件源頁面,單擊添加事件源。
在添加自定義事件源面板,輸入名稱和描述,事件提供方選擇分布式消息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": "source_test",
"specversion": "1.0",
"subject": "ctyun:rabbitmq:region-code-xxx:1******6789:queue/topic-queue",
"time": "2024-03-05T13:52:18.374Z",
"datacontenttype": "application/json;charset=utf-8",
"type": "ctyun.rabbitmq.topic.sendMessage",
"ctyunregion": "bb9fdb42056fl1eda1610242ac110002",
"ctyunaccountid": "123456789****",
"data": {
"envelope": {
"messageId": "xx",
"contentEncoding": "UTF-8"
},
"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 | Int | 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。 |