本文介绍如何通过事件总线EventBridge将轻量消息队列(原 MNS)的数据推送到函数计算。
前提条件
您已完成以下操作:
事件总线EventBridge
函数计算
轻量消息队列(原 MNS)
步骤一:添加自定义事件源
- 登录事件总线EventBridge控制台。
- 在左侧导航栏,单击事件总线。
- 在顶部菜单栏,选择地域。
在事件总线页面,点击已创建的自定义事件总线。
- 在左侧导航栏,单击事件源。
在事件源页面,单击添加事件源。
在添加自定义事件源面板,输入名称和描述,事件提供方选择轻量消息队列(原 MNS),选择已创建的队列,然后单击确定。
步骤二:创建事件规则
目标服务和事件规则必须处于同一地域。
- 登录事件总线EventBridge控制台,在左侧导航栏,单击事件总线。
- 在顶部菜单栏,选择地域,在事件总线页面,单击目标总线名称。
- 在左侧导航栏,单击事件规则,然后单击创建规则。
在创建规则页面,完成以下操作。
在配置基本信息配置向导,在名称文本框输入规则名称,在描述文本框输入规则的描述,然后单击下一步。
在配置事件模式配置向导,事件源类型选择自定义事件源,事件源选择步骤一添加的自定义事件源,在事件模式内容代码框输入事件模式,然后单击下一步。
如需了解更多信息,请参见事件模式。
在配置事件目标配置向导,配置事件目标,然后单击创建。
说明1个事件规则最多可以添加5个目标。
配置项
说明
服务类型
在下拉列表中选择函数计算。
函数
在下拉列表中选择已创建的函数。
事件
支持完整事件、部分事件、固定值和模板四种事件类型,本文以模板类型为例进行介绍说明。具体事件类型的介绍,请参见事件内容转换。
以下提供的是变量和模板示例。
变量示例:
{ "source":"$.source", "type":"$.type" }
模板示例:
The event comes from ${source},event type is ${type}.
版本和别名
支持指定函数版本或指定函数别名:
如果您选择指定版本,需要选择函数的具体版本。
如果您选择指定别名,需要选择函数的具体别名。
执行方式
支持以下两种执行方式,具体信息,请参见同步调用和异步调用功能概览。
同步:同步调用是事件被函数处理后直接返回结果。
异步:异步调用是函数计算系统接收异步调用请求后,将请求持久化后会立即返回响应,而不是等待请求执行完成后再返回。
投递方式
支持以下两种投递方式:
Object格式:如果您选用此格式,事件将会以对象(Object) 格式向下游函数进行投递。
ObjectList格式:如果您选用此格式,事件将会以对象数组(Array)格式向下游函数进行投递。
说明此功能为非必选项,如果您不选择投递格式,则默认事件将以Object格式向下游函数进行投递。
重试和死信
请参见重试和死信文档进行设置。
步骤三:发布事件
在左侧导航栏,选择 。
在顶部菜单栏,选择地域。
在队列列表页面,找到目标队列,在其右侧操作列选择 。
在队列收发消息快速体验页面的发送消息区域,输入消息内容和消息延时时间,然后单击发送消息。
页面显示:消息发送成功。
结果验证
您可以在函数计算控制台使用表盘解读数据指标。
登录函数计算控制台。
在左侧导航栏,单击函数,然后在顶部菜单栏选择目标地域。
在函数页面,单击目标函数名称。
在目标函数详情页面,单击日志页签,然后单击函数日志,即可查看目标函数的日志信息。
常见问题
事件发布失败,我该如何定位问题?
如果事件发布失败,您可以查看事件轨迹,在事件轨迹页面的事件投递区域查看投递详情,获取投递响应。针对不同投递响应提示,采取相应的解决措施。