本文介绍如何通过事件总线EventBridge将消息服务MNS队列的数据推送到函数计算。

说明 连接器是由事件总线EventBridge提供的功能,关于支持该功能的地域信息,请参见地域和接入点

步骤一:创建连接器

  1. 登录事件总线EventBridge控制台
  2. 在顶部菜单栏,选择地域。
  3. 在左侧导航栏,单击自定义总线
  4. 自定义总线页面,找到目标总线,在其右侧操作列单击连接器管理
  5. 连接器页面,单击创建连接器
  6. 选择事件来源向导页面,单击消息服务MNS
  7. 配置连接器向导页面,完成以下操作,单击创建并启动
    • 名称:输入连接器名称。
    • 事件来源:消息服务MNS。
    • 目标自定义总线:步骤4中选择的自定义总线。
    • 队列名称:选择已创建的消息服务MNS队列。

步骤二:发布事件

  1. 登录消息服务MNS控制台
  2. 在顶部菜单栏,选择地域。
  3. 在左侧导航栏,单击队列
  4. 队列页面,找到MyQueue,在其右侧操作列单击发送消息
  5. 发送消息对话框,输入消息内容,单击发送消息sendmessage

步骤三:创建事件规则

  1. 登录事件总线EventBridge控制台
  2. 在顶部菜单栏,选择地域。
  3. 在左侧导航栏,单击自定义总线
  4. 自定义总线页面,找到目标总线,在其右侧操作列单击规则管理
  5. 规则管理页面,单击创建规则
  6. 创建规则页面,完成以下操作。
    1. 配置基本信息页面,在名称文本框输入规则名称,在描述文本框输入规则的描述,然后单击下一步
    2. 配置事件模式页面,事件模式类型选择自定义事件模式,在事件模式内容代码框输入事件模式,然后单击下一步

      如需了解更多信息,请参见事件模式

    3. 配置事件目标页面,选择目标服务类型。
      • 服务类型:单击函数计算
      • 服务:选择已创建的服务。
      • 函数:选择已创建的函数。
      • 事件:单击转换内容的形式。
        • 完整事件:不做转换,直接投递原生CloudEvents 1.0协议中的完整结构。
        • 部分事件:通过JSONPath提取出需要投递到事件目标的内容。
        • 常量:事件只起到触发器的作用,不管事件内容是什么,投递内容为常量。
        • 模板:通过自定义变量和模板,将事件按照模板的示例输出。

          以下提供变量和模板的示例。

          变量示例:

          {
            "source":"$.source",
            "type":"$.type"
          }

          模板示例:

          The event comes from ${source},event type is ${type}.

        如需了解更多信息,请参见事件内容转换

      • 服务版本和别名:选择服务版本或服务别名。
        • 默认版本:LATEST。
        • 指定版本:选择服务版本。更多信息,请参见版本简介
        • 指定别名:选择服务别名。更多信息,请参见别名简介
      注意 目标服务和事件规则必须处于同一地域。
    4. 单击创建

结果验证

您可以在函数计算控制台使用表盘解读数据指标。

  1. 在顶部菜单栏,选择地域。
  2. 在左侧导航栏,单击服务/函数
  3. 服务/函数页面,单击目标服务,在函数列表页签下,在函数名称列,单击目标函数名称。
  4. 单击日志查询页签,查看日志。
    FC Invoke Start RequestId: c2be67a7-fh1a-9619-ei4c-3c04gcf6****
    2020-11-19T11:11:34.161Z c2be67a7-fh1a-9619-ei4c-3c04gcf6c**** [verbose] Receive Event v2 ==> The event comes from aliyun.ui,event type is ui:Created:PostObject.
    2020-11-19T11:11:34.167Z c2be67a7-fh1a-9619-ei4c-3c04gcf6c**** 
    FC Invoke End RequestId: c2be67a7-fh1a-9619-ei4c-3c04gcf6c****