使用eventgrid触发器(rabbitmq自定义事件源)(仅存量用户支持)-j9九游会登录
本节介绍如何通过函数工作流控制台创建eventgrid触发器(rabbitmq自定义事件源),实现使用rabbitmq自定义事件源触发函数执行。
eventgrid触发器(rocketmq自定义事件源)当前已不支持新建使用,仅存量用户可用。
约束与限制
eventgrid触发器支持使用的区域和具体运行时函数请以控制台展示为准。
前提条件
- 函数及其配置:
- 已创建函数。
- 请参见配置网络开启函数访问vpc内资源的网络配置,开启后需在rabbitmq服务安全组配置对应子网的权限,参考rabbitmq实例的前提条件配置。
- eventgrid:
已创建eg事件通道,创建过程请参见。
- rabbitmq实例:
- 已创建rabbitmq实例,创建操作请参见。
- 创建vhost、exchange和queue。
- 创建rabbitmq vhost,创建操作请参见。
- 创建rabbitmq exchange,创建操作请参见。
- 创建rabbitmq queue,创建操作请参见。
- 绑定rabbitmq exchange和rabbitmq queue,绑定操作请参见、。
vhost是一个相对独立的rabbitmq服务,用于管理exchange、queue。一个rabbitmq实例下可以有多个vhost,一个vhost里可以有若干个exchange和queue,具体详情请参见。
- 确认实例安全组规则是否配置正确。
- 在rabbitmq实例详情页面的“基本信息 > 网络”,单击安全组名称,跳转到安全组页面。
- 选择“入方向规则”,查看安全组入方向规则。
- 实例未开启ssl开关
▪ 如果是vpc内访问,实例安全组入方向规则,需要允许端口5672的访问。
▪ 如果是公网访问,需要允许端口15672的访问。
- 实例已开启ssl开关
▪ 如果是vpc内访问,实例安全组入方向规则,需要允许端口5671的访问。
▪ 如果是公网访问,需要运行端口15671的访问。
- 实例未开启ssl开关
创建eventgrid触发器(rabbitmq自定义事件源)
- 登录,在左侧的导航栏选择“函数 > 函数列表”。
- 选择待配置的函数,单击进入函数详情页。
- 选择“设置 > 触发器”,单击“创建触发器”,弹出“创建触发器”对话框。
图1 创建触发器
- 配置以下参数。
表1 eg触发器(rabbitmq)参数说明 参数
说明
取值样例
触发器类型
必选参数。
选择“分布式消息服务 rabbitmq版 (hc.rabbitmq)”。
分布式消息服务 rabbitmq版 (hc.rabbitmq)
触发器名称
必选参数。
触发器的名称。只能包含字母、数字、下划线和中划线。不能以数字、中划线开头。长度在 1-128 之间。
eg-rabbitmq
事件通道
必选参数。
选择已创建的eg事件通道。若无事件通道,可单击“创建事件通道”完成创建。
egtest
实例
必选参数。
选择已创建的rabbitmq实例。若无实例,可单击“创建实例”完成创建。
rabbitmq-fg
用户名
必选参数。
填写连接rabbitmq实例的用户名。
fgtest
密码
必选参数。
填写连接rabbitmq实例的密码。
testrabbitmq
虚拟机名称
必选参数。
填写rabbitmq实例的虚拟机名称。
rabbitmqex
队列
必选参数。
填写rabbitmq实例的队列。
rabbitmqqueue
- 单击“确定”,完成eg触发器的创建。
配置eventgrid事件触发函数
- 返回函数工作流控制台,在左侧的导航栏选择“函数 > 函数列表”。
- 选择待配置的函数,单击进入函数详情页。
- 在函数详情页,选择函数版本。
- 在“代码”页签下,单击“测试”,弹出“配置测试事件”对话框。
- 填写如下表2所示测试信息后,单击“保存”。
表2 测试参数 参数
说明
配置测试事件
可创建新的测试事件,也可编辑已有的测试事件。
选择默认值:“创建新的测试事件”。
事件模板
选择"分布式消息服务 rabbitmq版 (hc.rabbitmq)"模板,使用系统内置hc.rabbitmq事件模板。
事件名称
事件名称必须以大写或小写字母开头,支持字母(大写或小写),数字和下划线“_”(或中划线“-”),并以字母或数字结尾,长度为1-25个字符,例如:rabbitmq-123test。
测试事件
自动加载系统内置eg-rabbitmq事件模板,本例不做修改。
- 单击“测试”,可以得到函数运行结果,函数会返回输入eg-rabbitmq消息数据。
相关文档
除使用控制台外,函数工作流支持通过api的方式使用函数触发器,详情请参见。
相关文档
意见反馈
文档内容是否对您有帮助?
如您有其它疑问,您也可以通过华为云社区问答频道来与我们联系探讨