本文介绍如何在事件总线EventBridge控制台添加消息队列RabbitMQ版作为事件流中的事件提供方。

前提条件

操作步骤

  1. 登录事件总线EventBridge控制台,在左侧导航栏,单击事件流
  2. 在顶部菜单栏,选择地域,然后单击创建事件流
  3. 创建事件流面板,配置以下参数,然后单击创建
    1. 基本信息页签,设置事件流名称描述,单击下一步
    2. 事件源页签,选择事件提供方消息队列 RabbitMQ 版,设置以下参数,然后单击下一步
      参数说明示例
      地域选择消息队列RabbitMQ版源实例所在的地域。华东1(杭州)
      RabbitMQ 实例选择生产消息队列RabbitMQ版消息的源实例。amqp-cn-7pp2mwbc****
      Vhost选择源实例中的Vhost。test
      Queue选择存储消息的队列。test
    3. 规则目标页签,分别设置事件规则和事件目标。
    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字段包含的参数解释如下表所示。

参数类型示例描述
envelopeMap消息中的envelope信息。
deliveryTagInt98消息的Tag。
exchangeStringamq.direct消息的Exchange。
redeliverBooleanfalse是否支持重发消息。取值说明如下:
  • true:支持。
  • false:不支持。
routingKeyStringhousekeeping消息的路由规则。
bodyMap消息内容。
HelloStringEventBridge用户数据。
propsMap消息属性。
contentEncodingStringUTF-8消息内容编码。
messageIdStringf7622d51-e198-41de-a072-77c1ead7****消息ID。每条消息的ID取值唯一。