您可以通過事件規則過濾事件,將事件路由到雲訊息佇列 RocketMQ 版。本文以自訂事件為例介紹將事件路由到雲訊息佇列 RocketMQ 版的前提條件、操作步驟和結果驗證。
前提條件
事件匯流排EventBridge
雲訊息佇列 RocketMQ 版
步驟一:添加自訂事件來源
- 登入事件匯流排EventBridge控制台,在左側導覽列,單擊事件匯流排。
- 在頂部功能表列,選擇地區,在事件匯流排頁面,單擊目標自訂事件匯流排名稱。
- 在左側導覽列,單擊事件來源,然後單擊添加事件來源。
- 在添加自訂事件來源面板,輸入名稱和描述,事件提供方選擇自訂應用,然後單擊確定。
步驟二:建立事件規則
重要 目標服務和事件規則必須處於同一地區。
- 登入事件匯流排EventBridge控制台。
- 在左側導覽列,單擊事件匯流排。
- 在頂部功能表列,選擇地區。
- 在事件匯流排頁面,單擊目標匯流排名稱。
- 在左側導覽列,單擊事件規則。
- 在事件規則頁面,單擊建立規則。
- 在建立規則頁面,完成以下操作。
- 在配置基本信息設定精靈,在名称文字框輸入規則名稱,在描述文字框輸入規則的描述,然後單擊下一步。
- 在配置事件模式設定精靈,事件源类型選擇自定义事件源,事件源選擇步驟一添加的自訂事件來源,在模式内容代碼框輸入事件模式,然後單擊下一步。
如需瞭解更多資訊,請參見事件模式。
- 在配置事件目标設定精靈,配置事件目標,然後單擊创建。說明 1個事件規則最多可以添加5個目標。
事件目標雲訊息佇列 RocketMQ 版涉及配置的參數如下:
參數名稱 參數說明 服务类型 單擊消息队列 RocketMQ 版。 实例 ID 選擇已建立的消息队列 RocketMQ 版的執行個體ID。 Topic 選擇已建立的Topic。 訊息體(Body) 事件匯流排EventBridge通過JSONPath提取事件中的資料,將指定的事件內容路由到事件目標。例如: 部分事件
$.data.body自訂屬性(Properties) 事件匯流排EventBridge通過JSONPath提取事件中的資料,將指定的屬性路由到事件目標。例如: 模板
變數:
模板:{ "userProperties":"$.data.userProperties", "msgId":"$.data.systemProperties.UNIQ_KEY" }{ "EB_SYS_EMBED_OBJECT":"${userProperties}", "UNIQ_KEY":"${msgId}" }訊息索引(Keys) 事件匯流排EventBridge通過JSONPath提取事件中的資料,將指定的事件內容路由到事件目標。 部分事件
$.data.systemProperties.KEYSTags 事件匯流排EventBridge通過JSONPath提取事件中的資料,將指定的事件內容路由到事件目標。 部分事件
$.data.systemProperties.TAGS針對事件內容,事件匯流排EventBridge提供不同的轉換類型,詳細資料,請參見事件內容轉換。每種類型的簡單樣本如下:
- 部分事件樣本:
$.data.body - 常量樣本:
請注意警示! - 變數和模板的樣本:
變數樣本:
{ "type":"$.type" }模板樣本:
The event type is ${type}.
- 部分事件樣本:
步驟三:發布事件
- 登入事件匯流排EventBridge控制台,在左側導覽列,單擊事件匯流排。
- 在頂部功能表列,選擇地區。
- 在事件匯流排頁面,找到目標匯流排,在其右側操作列單擊发布事件。說明 僅自訂事件匯流排支援通過控制台發布事件。
- 在發布事件至自訂事件匯流排面板,自定义事件源下拉式清單選擇已建立的自訂事件來源,在事件体代碼框輸入事件內容,然後單擊確定。事件包含的參數規範,請參見事件概述。
結果驗證
您可以在雲訊息佇列 RocketMQ 版控制台確認是否接收到事件。
在左側導覽列,單擊实例列表。
在頂部功能表列,選擇地區,如華東1(杭州)。
- 在实例列表頁面,找到目標執行個體,在其右側操作列選擇。
- 在消息查询頁面,選擇查詢方式為按Topic查詢,選擇要查詢訊息的Topic,設定要查詢的時間範圍,然後單擊查询。
接收到的樣本訊息內容如下所示:
{
"id":"94ebc15f-f0db-4bbe-acce-56fb72fb****",
"source":"acs:mq",
"specversion":"1.0",
"type":"mq:Topic:SendMessage",
"datacontenttype":"application/json; charset=utf-8",
"subject":"acs:mq:cn-hangzhou:123456789098****:MQ_INST_123456789098****_BXhFHryi%TopicName",
"time":"2021-04-08T06:01:20.766Z",
"aliyunpublishtime":"2021-04-08T06:01:20.725Z",
"aliyuneventbusname":"BusName",
"data":{
"topic":"TopicName",
"systemProperties":{
"MIN_OFFSET":"0",
"TRACE_ON":"true",
"MAX_OFFSET":"8",
"MSG_REGION":"cn-hangzhou",
"KEYS":"systemProperties.KEYS",
"CONSUME_START_TIME":1628577790396,
"UNIQ_KEY":"AC14C305069E1B28CDFA3181CDA2****",
"TAGS":"systemProperties.TAGS",
"INSTANCE_ID":"MQ_INST_123456789098****_BXhFHryi"
},
"userProperties":{
},
"body":"TEST"
}
}