本文介绍如何应用事件总线EventBridge的事件流功能实现消息服务MNS的消息路由。
背景信息
事件流作为更轻量、实时端到端的流式事件通道,提供轻量流式数据的过滤和转换的能力,在不同的数据仓库之间、数据处理程序之间、数据分析和处理系统之间进行数据同步。源端消息服务MNS生产的消息可以通过事件流这个通道被路由到目标端的消息服务MNS,无需定义事件总线。更多信息,请参见事件流概述。
步骤一:创建事件流
说明 事件总线EventBridge暂不支持跨地域创建消息服务MNS的事件流。
- 登录事件总线EventBridge控制台。
- 在顶部菜单栏,选择创建事件流的地域。
- 在左侧导航栏,单击事件流。
- 在事件流页面,单击创建事件流。
- 在创建事件流面板,完成以下操作。
- 在基本信息配置向导,输入事件流名称和描述,然后单击下一步。
- 在事件源配置向导,选择事件提供方为消息服务 MNS,配置产生消息的队列名称,选中开启 Base64 解码,然后单击下一步。
- 在规则配置向导,单击下一步。
- 在目标配置向导,选择服务类型为消息服务 MNS,配置以下参数,然后单击创建。
参数 |
说明 |
示例 |
队列名称 |
选择接收MNS消息的目标队列。 |
test |
开启 Base64 编码 |
- 是:开启Base64编码,会帮助您将数据编码后投递至消息服务MNS中的队列。
- 否:不开启Base64编码。
|
是 |
消息内容 |
选择部分事件。事件总线EventBridge通过JSONPath提取事件中的数据,将指定的事件内容路由到事件目标。
|
$.data.messageBody
说明 若需要将源队列的消息体全量路由到目标队列的消息体,推荐使用此配置。
|
- 返回事件流页面,找到创建好的事件流,在其右侧操作栏,单击启用。
启用事件流后,会有30秒~60秒的延迟时间,您可以在事件流页面的状态栏查看启动进度。
步骤二:验证事件流
- 登录消息服务MNS控制台。
- 在顶部菜单栏,选择步骤一:创建事件流中事件流所在的地域。
- 在左侧导航栏,单击队列列表。
- 在队列列表页面,找到步骤一:创建事件流中配置的源队列,在其操作列,单击详情。
- 在队列详情页面,单击右上角的收发消息。
- 在队列收发消息快速体验页面,配置消息内容和消息定时时间,单击发送消息。
消息发送成功后,该页面会显示发送的消息ID。
- 在源队列完成发送消息后,返回队列列表页面。
- 在队列列表页面,找到步骤一:创建事件流中配置的目标队列,在其操作列,单击详情。
- 在队列详情页面,单击右上角的收发消息。
- 在队列收发消息快速体验页面,单击接收消息。
- 查看查询到的消息ID和消息内容是否与生产的消息一致。