本文介绍如何在事件总线EventBridge控制台添加轻量消息队列(原 MNS)作为事件流中的事件提供方。
前提条件
- 您已创建轻量消息队列(原 MNS)队列。具体步骤,请参见开通轻量消息队列(原 MNS)并授权。 
操作步骤
- 登录事件总线EventBridge控制台,在左侧导航栏,单击事件流。
- 在顶部菜单栏,选择地域,然后单击创建事件流。
- 在创建事件流面板,设置任务名称和描述,配置以下参数,然后单击保存。 - 任务创建 - 在Source(源)配置向导,选择数据提供方为轻量消息队列(原 MNS),配置以下参数,然后单击下一步。 - 参数 - 说明 - 示例 - 队列名称 - 选择轻量消息队列(原 MNS)。 - test-queue - Base64 解码 - 勾选此项会帮助您将轻量消息队列(原 MNS)的数据解码后进行投递。 - test - 批量推送 - 批量推送可帮您批量聚合多个事件,当批量推送条数和批量推送间隔(单位:秒)两者条件达到其一时即会触发批量推送。 - 例如:您设置的推送条数为100 条,间隔时间为15 s,在10 s内消息条数已达到100条,那么该次推送则不会等15 s后再推送。 - 开启 - 批量推送条数 - 调用函数发送的最大批量消息条数,当积压的消息数量到达设定值时才会发送请求,取值范围为 [1,10000]。 - 100 - 批量推送间隔(单位:秒) - 调用函数的间隔时间,系统每到间隔时间点会将消息聚合后发给函数计算,取值范围为[0,15],单位为秒。0秒表示无等待时间,直接投递。 - 3 
- 在Filtering(过滤)、Transform(转换)及Sink(目标)配置向导,设置事件过滤、转换规则及事件目标。事件转换的配置说明,请参见使用函数计算实现消息数据清洗。 
 
- 任务属性 - 设置事件流的重试策略及死信队列。更多信息,请参见重试和死信。 
 
- 返回事件流页面,找到创建好的事件流,在其右侧操作栏,单击启用。 - 启用事件流后,会有30秒~60秒的延迟时间,您可以在事件流页面的状态栏查看启动进度。 
事件示例
{
    "specversion":"1.0",
    "id":"bffb9722-9c48-407b-9895-b038f78f****",
    "source":"acs:mns",
    "type":"mns:Queue:SendMessage",
    "subject":"acs:mns:cn-hangzhou:123456789098****:queues/zeus",
    "datacontenttype":"application/json; charset=utf-8",
    "time":"2021-04-08T06:28:17.093Z",
    "aliyunpublishtime":"2021-04-08T06:30:31.367Z",
    "aliyuneventbusname":"mybus",
    "data":{
        "requestId":"606EA3074344430D4C81****",
        "messageId":"C6DB60D1574661357FA227277445****",
        "messageBody":"TEST"
    }
}CloudEvents规范中定义的参数解释,请参见事件概述。
data字段包含的参数解释如下表所示。
| 参数 | 类型 | 示例 | 描述 | 
| requestId | String | 606EA3074344430D4C81**** | 请求ID。每个请求的ID取值唯一。 | 
| messageId | String | C6DB60D1574661357FA227277445**** | 消息ID。每条消息的ID取值唯一。 | 
| messageBody | String | TEST | 消息内容。 |