路由到訊息佇列RabbitMQ版

更新時間:
Copy as MD

您可以通過事件規則過濾事件,將事件路由到雲訊息佇列 RabbitMQ 版。本文以自訂事件為例介紹將事件路由到雲訊息佇列 RabbitMQ 版的前提條件、操作步驟和結果驗證。

前提條件

步驟一:添加自訂事件來源

  1. 登入事件匯流排EventBridge控制台,在左側導覽列,單擊事件匯流排
  2. 在頂部功能表列,選擇地區,在事件匯流排頁面,單擊目標自訂事件匯流排名稱。
  3. 在左側導覽列,單擊事件來源,然後單擊添加事件來源
  4. 添加自定义事件源面板,輸入名称描述事件提供方選擇自訂應用,然後單擊确认

步驟二:建立事件規則

重要

目標服務和事件規則必須處於同一地區。

  1. 登入事件匯流排EventBridge控制台
  2. 在左側導覽列,單擊事件匯流排
  3. 在頂部功能表列,選擇地區。
  4. 事件匯流排頁面,單擊目標匯流排名稱。
  5. 在左側導覽列,單擊事件規則
  6. 事件规则頁面,單擊创建规则

  7. 创建规则頁面,完成以下操作。

    1. 配置基本信息設定精靈,在名称文字框輸入規則名稱,在描述文字框輸入規則的描述,然後單擊下一步

    2. 配置事件模式設定精靈,事件源类型選擇自定义事件源事件源選擇步驟一添加的自訂事件來源,在模式内容代碼框輸入事件模式,然後單擊下一步

      如需瞭解更多資訊,請參見事件模式

    3. 配置事件目标設定精靈,配置事件目標,然後單擊创建

      說明

      1個事件規則最多可以添加5個目標。

      事件目標雲訊息佇列 RabbitMQ 版涉及配置的參數如下:

      參數名稱

      參數說明

      服务类型

      單擊云消息队列 RabbitMQ 版

      实例 ID

      選擇已建立的云消息队列 RabbitMQ 版的執行個體ID。

      Vhost

      選擇已建立的Vhost。

      目标类型

      選擇ExchangeQueue

      Exchange

      選擇已建立的Exchange。僅當目标类型選擇為Exchange時,需配置此參數。

      消息路由规则(Routing Key)

      單擊部分事件固定值。僅當目标类型選擇為Exchange時,需配置此參數。

      Queue

      選擇已建立的Queue。僅當目标类型選擇為Queue時,需配置此參數。

      消息体(body)

      單擊完整事件部分事件固定值模板

      MessageId

      單擊部分事件固定值模板

      自定义属性(Properties)

      單擊部分事件模板

      說明

      該參數取實值型別為Map

      以下分別提供事件匯流排EventBridge的事件內容轉換類型的樣本。更多資訊,請參見事件內容轉換

      • 部分事件樣本:
        $.data.body
      • 常量樣本:
        請注意警示!
      • 變數模板的樣本:

        變數樣本:

        {
          "type":"$.type"
        }

        模板樣本:

        The event type is ${type}.

步驟三:發布事件

  1. 登入事件匯流排EventBridge控制台,在左側導覽列,單擊事件匯流排
  2. 在頂部功能表列,選擇地區。
  3. 事件总线頁面,找到目標匯流排,在其右側操作列單擊发布事件

    說明

    僅自訂事件匯流排支援通過控制台發布事件。

  4. 发布事件至自定义事件总线 {name}面板,自定义事件源下拉式清單選擇已建立的自訂事件來源,在事件体代碼框輸入事件內容,然後單擊确认

    事件包含的參數規範,請參見事件概述

結果驗證

您可以在雲訊息佇列 RabbitMQ 版控制台確認是否接收到事件。

  1. 登入雲訊息佇列 RabbitMQ 版控制台,然後在左側導覽列選擇实例列表

  2. 实例列表頁面的頂部功能表列選擇地區,然後在執行個體列表中,單擊目標執行個體名稱。

  3. 实例列表頁面,找到目標執行個體,在其右側操作列選擇更多 > 消息查询

  4. 消息查询頁面,選擇查询方式:按 Queue 查询所有消息,選擇要查詢訊息的Queue时间范围,然後單擊查询

接收到的樣本訊息內容如下所示:

{
    "datacontenttype":"application/json;charset=utf-8",
    "aliyunaccountid":"143998900779****",
    "data":{
        "envelope":{
            "deliveryTag":98,
            "exchange":"",
            "redeliver":false,
            "routingKey":"housekeeping"
        },
        "body":{
            "Hello":"EventBridge"
        },
        "props":{
            "contentEncoding":"UTF-8",
            "messageId":"f7622d51-e198-41de-a072-77c1ead7****"
        }
    },
    "subject":"acs:amqp:cn-hangzhou:143998900779****:/instances/amqp-cn-zvp2av0m****/vhosts/eb-connect/queues/housekeeping",
    "aliyunoriginalaccountid":"143998900779****",
    "source":"housekeeping.rabbitmq",
    "type":"amqp:Queue:SendMessage",
    "aliyunpublishtime":"2021-08-12T06:56:50.783Z",
    "specversion":"1.0",
    "aliyuneventbusname":"Housekeeping-Connect",
    "id":"8b09e19b-8cbd-4c46-ab77-9cc39c44****",
    "time":"2021-08-12T06:56:40.709Z",
    "aliyunregionid":"cn-hangzhou"
}