雲訊息佇列 RabbitMQ 版

更新時間:
Copy as MD

本文介紹如何在事件匯流排EventBridge控制台添加雲訊息佇列 RabbitMQ 版作為事件流中的事件提供方。

前提條件

操作步驟

  1. 登入事件匯流排EventBridge控制台,在左側導覽列,單擊事件流
  2. 在頂部功能表列,選擇地區,然後單擊建立事件流
  3. 创建事件流面板,設定任务名称描述,配置以下參數,然後單擊保存

    • 任務建立

      1. 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

      2. Filtering(过滤)Transform(转换)Sink(目标)設定精靈,設定事件過濾、轉換規則及事件目標。事件轉換的配置說明,請參見使用Function Compute實現訊息資料清洗

    • 任務屬性

      設定事件流的重試策略及無效信件佇列。更多資訊,請參見重試和死信

  4. 返回事件流頁面,找到建立好的事件流,在其右側操作欄,單擊啟用

    啟用事件流後,會有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

是否支援重發訊息。取值說明如下:

  • true:支援。

  • false:不支援。

routingKey

String

housekeeping

訊息的路由規則。

body

Map

訊息內容。

Hello

String

EventBridge

使用者資料。

props

Map

訊息屬性。

contentEncoding

String

UTF-8

訊息內容編碼。

messageId

String

f7622d51-e198-41de-a072-77c1ead7****

訊息ID。每條訊息的ID取值唯一。