使用RabbitMQ触发器
本节介绍创建RabbitMQ触发器,供用户了解RabbitMQ触发器的使用方法(当前只支持fanout路由模式)。使用RabbitMQ触发器后,FunctionGraph会定期轮询RabbitMQ实例指定交换机绑定的队列下的新消息,FunctionGraph将轮询得到的消息作为参数传递来调用函数,关于RabbitMQ触发器的事件源介绍请参见支持的事件源。
前提条件
- 已经创建函数,创建过程请参见创建函数。
- 创建RabbitMQ触发器,必须开启函数工作流VPC访问,请参见配置网络。
- 已经创建RabbitMQ实例,创建操作请参见购买RabbitMQ实例。
- 创建Vhost、Exchange和Queue。
- 创建RabbitMQ Vhost,创建操作请参见创建RabbitMQ Vhost。
- 创建RabbitMQ Exchange,创建操作请参见创建RabbitMQ Exchange。
- 创建RabbitMQ Queue,创建操作请参见创建RabbitMQ Queue。
- 绑定RabbitMQ Exchange和RabbitMQ Queue,绑定操作请参见绑定RabbitMQ Exchange、绑定RabbitMQ Queue。
Vhost是一个相对独立的RabbitMQ服务,用于管理Exchange、Queue。一个RabbitMQ实例下可以有多个Vhost,一个Vhost里可以有若干个Exchange和Queue,具体详情请参见RabbitMQ业务使用流程。
- 确认实例安全组规则是否配置正确。
创建RabbitMQ触发器
- 登录函数工作流控制台,在左侧的导航栏选择“函数 > 函数列表”。
- 选择待配置的函数,单击进入函数详情页。
- 选择“设置 > 触发器”,单击“创建触发器”,弹出“创建触发器”对话框。
图1 创建触发器
- 设置以下信息。
- 触发器类型:选择“分布式消息服务RabbitMQ版 (RABBITMQ)”。
- *实例:选择已创建RabbitMQ实例。
- *密码:填写创建RabbitMQ实例的密码。
- *交换机名称:填写用户已创建的交换机名称,详情请参见创建RabbitMQ Exchange。
- 虚拟机名称:填写用户已创建的vhost,详情请参见创建RabbitMQ Vhost。
- *批处理大小:每次从Topic消费的消息数量。
- 单击“确定”,完成RabbitMQ触发器的创建。
开启函数流VPC访问后,需要在RabbitMQ服务安全组配置对应子网的权限。如何开启VPC访问请参见配置网络。
配置RabbitMQ事件触发函数
- 返回函数工作流控制台,在左侧的导航栏选择“函数 > 函数列表”。
- 选择待配置的函数,单击进入函数详情页。
- 在函数详情页,选择函数版本。
- 在“代码”页签下,单击“测试”,弹出“配置测试事件”对话框。
- 填写如表1所示测试信息后,单击“保存”。
- 单击“测试”,可以得到函数运行结果,函数会返回输入RabbitMQ消息数据。