文档首页/ 函数工作流 FunctionGraph/ 用户指南/ 配置函数/ 配置函数的触发器/ 使用分布式消息服务 RabbitMQ版(RABBITMQ)触发器
更新时间:2025-08-18 GMT+08:00

使用分布式消息服务 RabbitMQ版(RABBITMQ)触发器

本节介绍如何通过函数工作流控制台创建RabbitMQ触发器(当前只支持fanout路由模式),以实现FunctionGraph在RabbitMQ实例中,指定交换机绑定的队列下的新消息进行定期轮询。FunctionGraph会将轮询得到的消息作为参数,用于调用相应函数。

关于分布式消息服务RabbitMQ触发器的事件源介绍,请参见支持的事件源

约束与限制

分布式消息服务RabbitMQ触发器当前支持“华北-北京四”“华东-上海一”“亚太-曼谷”“亚太-新加坡”“拉美-墨西哥城二”“拉美-圣保罗一”区域使用。具体运行时函数是否支持使用请以控制台为准。

前提条件

  • 函数及其配置:
    • 已创建函数。
    • 已配置函数的分布式消息服务DMS委托权限,委托的创建请参见配置函数的委托权限
    • 请参见配置网络开启函数访问VPC内资源的网络配置,开启后需在RabbitMQ服务安全组配置对应子网的权限,请参考RabbitMQ前提条件配置。
  • 分布式消息服务RabbitMQ:
    • 已创建RabbitMQ实例,创建操作请参见购买RabbitMQ实例
    • 创建Vhost、Exchange和Queue。
      1. 创建RabbitMQ Vhost,创建操作请参见创建RabbitMQ Vhost
      2. 创建RabbitMQ Exchange,创建操作请参见创建RabbitMQ Exchange
      3. 创建RabbitMQ Queue,创建操作请参见创建RabbitMQ Queue
      4. 绑定RabbitMQ Exchange和RabbitMQ Queue,绑定操作请参见绑定RabbitMQ Exchange绑定RabbitMQ Queue

        Vhost是一个相对独立的RabbitMQ服务,用于管理Exchange、Queue。一个RabbitMQ实例下可以有多个Vhost,一个Vhost里可以有若干个Exchange和Queue,具体详情请参见RabbitMQ业务使用流程

    • 确认实例安全组规则是否配置正确。
      1. 在RabbitMQ实例详情页面的“基本信息 > 网络”,单击安全组名称,跳转到安全组页面。
      2. 选择“入方向规则”,查看安全组入方向规则。
        1. 实例未开启SSL开关

          ▪ 如果是VPC内访问,实例安全组入方向规则,需要允许端口5672的访问。

          ▪ 如果是公网访问,需要允许端口15672的访问。

        2. 实例已开启SSL开关

          ▪ 如果是VPC内访问,实例安全组入方向规则,需要允许端口5671的访问。

          ▪ 如果是公网访问,需要运行端口15671的访问。

创建RabbitMQ触发器

  1. 登录函数工作流控制台,在左侧的导航栏选择“函数 > 函数列表”。
  2. 选择待配置的函数,单击进入函数详情页。
  3. 选择“设置 > 触发器”,单击“创建触发器”,弹出“创建触发器”对话框。

    图1 创建触发器

  1. 配置以下参数。

    表1 RabbitMQ触发器参数说明

    参数

    说明

    取值样例

    触发器类型

    必选参数。

    选择“分布式消息服务 RabbitMQ版 (RABBITMQ)”。

    分布式消息服务 RabbitMQ版 (RABBITMQ)

    实例

    必选参数。

    选择已创建的RabbitMQ实例。若无实例,可单击“创建实例”完成创建。

    rabbitmq-fg

    密码

    必选参数。

    填写创建的RabbitMQ实例的密码。

    testrabbitmq

    交换机名称

    必选参数。

    填写已创建的交换机名称,详情请参见创建RabbitMQExchange

    rabbitmqEX

    虚拟机名称

    可选参数。

    填写已创建的vhost,详情请参见创建RabbitMQVhost

    test

    批处理大小

    必选参数。

    输入每次从Topic消费的消息数量,设置范围:1~1000。

    100

  2. 单击“确定”,完成RabbitMQ触发器的创建。

配置RabbitMQ事件触发函数

  1. 返回函数工作流控制台,在左侧的导航栏选择“函数 > 函数列表”。
  2. 选择待配置的函数,单击函数名称进入函数详情页。
  3. 在函数详情页,选择函数版本。
  4. 在“代码”页签下,单击“测试”,弹出“配置测试事件”对话框。
  5. 填写如表2所示测试信息后,单击“保存”。

    表2 测试信息

    参数

    说明

    配置测试事件

    可创建新的测试事件也可编辑已有的测试事件。

    选择默认值:“创建新的测试事件”。

    事件模板

    选择“分布式消息服务 RabbitMQ版 (RABBITMQ)”模板,使用系统内置RabbitMQ事件模板。

    事件名称

    事件名称必须以大写或小写字母开头,支持字母(大写或小写),数字和下划线“_”(或中划线“-”),并以字母或数字结尾,长度为1-25个字符,例如“rabbitmq-123test”。

    测试事件

    自动加载系统内置RabbitMQ事件模板,本例不做修改。

  1. 单击“测试”,可以得到函数运行结果,函数会返回输入RabbitMQ消息数据。

相关文档

除使用控制台外,函数工作流支持通过API的方式使用函数触发器,详情请参见函数触发器API参考