本文介绍如何应用事件总线EventBridge的事件流功能实现消息服务MNS的消息路由。

前提条件

背景信息

事件流作为更轻量、实时端到端的流式事件通道,提供轻量流式数据的过滤和转换的能力,在不同的数据仓库之间、数据处理程序之间、数据分析和处理系统之间进行数据同步。源端消息服务MNS生产的消息可以通过事件流这个通道被路由到目标端的消息服务MNS,无需定义事件总线。更多信息,请参见事件流概述

步骤一:创建事件流

说明 事件总线EventBridge暂不支持跨地域创建消息服务MNS的事件流。
  1. 登录事件总线EventBridge控制台
  2. 在顶部菜单栏,选择创建事件流的地域。
  3. 在左侧导航栏,单击事件流
  4. 事件流页面,单击创建事件流
    创建事件流
  5. 创建事件流面板,完成以下操作。
    1. 基本信息配置向导,输入事件流名称和描述,然后单击下一步
    2. 事件源配置向导,选择事件提供方消息服务 MNS,配置产生消息的队列名称,选中开启 Base64 解码,然后单击下一步
    3. 规则配置向导,单击下一步
    4. 目标配置向导,选择服务类型消息服务 MNS,配置以下参数,然后单击创建
      参数 说明 示例
      队列名称 选择接收MNS消息的目标队列。 test
      开启 Base64 编码
      • :开启Base64编码,会帮助您将数据编码后投递至消息服务MNS中的队列。
      • :不开启Base64编码。
      消息内容 选择部分事件事件总线EventBridge通过JSONPath提取事件中的数据,将指定的事件内容路由到事件目标。 $.data.messageBody
      说明 若需要将源队列的消息体全量路由到目标队列的消息体,推荐使用此配置。
  6. 返回事件流页面,找到创建好的事件流,在其右侧操作栏,单击启用
    启用事件流后,会有30秒~60秒的延迟时间,您可以在事件流页面的状态栏查看启动进度。

步骤二:验证事件流

  1. 登录消息服务MNS控制台
  2. 在顶部菜单栏,选择步骤一:创建事件流中事件流所在的地域。
  3. 在左侧导航栏,单击队列列表
  4. 队列列表页面,找到步骤一:创建事件流中配置的源队列,在其操作列,单击详情
    查看详情
  5. 在队列详情页面,单击右上角的收发消息
  6. 队列收发消息快速体验页面,配置消息内容消息定时时间,单击发送消息
    发送消息
    消息发送成功后,该页面会显示发送的消息ID。
  7. 在源队列完成发送消息后,返回队列列表页面。
  8. 队列列表页面,找到步骤一:创建事件流中配置的目标队列,在其操作列,单击详情
  9. 在队列详情页面,单击右上角的收发消息
  10. 队列收发消息快速体验页面,单击接收消息
    接收消息
  11. 查看查询到的消息ID和消息内容是否与生产的消息一致。