事件订阅介绍

变更记录
产品版本 | 更新内容 | 更新日期 |
| V6.0.13 | 初始版本 | 2024年6月13日 |
1 简介
1.1 功能介绍
事件订阅定义监听事件、事件过滤、参数转换、事件路由、投递目标及错误重试等处理过程,用户可通过事件订阅灵活配置事件集成方案满足业务需求。
功能列表:新增订阅、复制订阅、发布/撤销订阅、导入/导出订阅、查看订阅实例。
1.2 应用场景
数据同步:通过事件订阅实现跨系统数据实时同步,如基础资料变更即触发同步至各业务系统,确保主数据一致性。比如:电商平台商品信息更新,实时同步至库存、订单管理系统。
事件驱动自动化业务流程:构建自动化业务流程,上游操作如采购订单审核通过,立即触发供货商系统销售订单生成。比如:供应链管理中,销售订单审核通过后,自动同步库存管理系统进行库存锁定,和发货通知。
实时监控与异常报警:精准监控业务异常情况,对支付失败、库存告急、API服务中断等关键异常即时预警。比如:电商大促期间,系统实时监控到某热销商品库存即将耗尽,立即触发补货提醒及促销策略调整。
1.3 系统路径
【集成服务云】→【事件网格】→【事件订阅】
1.4 关键字段/按钮说明
1.4.1 关键字段说明
| 字段名称 | 详细解释 |
| 基本信息 | |
| 订阅编码 | 事件订阅的唯一编码 |
| 订阅名称 | 事件订阅的名称 |
| 状态 | 订阅状态分为:草稿、已发布 |
| 开放商标识 | 操作用户所属开发商标识。非本开发商的数据不允许修改 |
| 来源 | 数据的来源,分为:手工创建、开放事件、组装流 开放事件:由开放事件推送订阅生成的订阅数据 组装流:由组装流生成的订阅数据 |
| 订阅描述 | 事件订阅的详细描述 |
| 触发事件 | |
| 触发方式 | 事件触发:由监听事件触发订阅任务的运行 定时触发:通过预设的时间计划来触发订阅任务的运行 |
| 触发事件 | 监听事件 |
| 来源数据源 | 事件的来源系统环境 |
| 固定周期 | 选择固定周期触发订阅任务,比如1分钟、1小时等 |
| Cron表达式 | 通过Cron表达式灵活配置触发订阅任务的时间计划 |
| 订阅规则 | |
| 规则说明 | 简要描述过滤规则的业务含义,使过滤规则更易读 |
| 左括号 | 过滤条件有多条时,可以添加括号组合改变条件的优先级,如过滤条件为(A or B)and C |
| 事件参数 | 用于过滤的事件参数,可选事件参数和上下文参数 |
| 参数类型 | 事件参数类型 |
| 参数说明 | 事件参数说明 |
| 比较方式 | 支持16种比较方式,包括:等于、不等于、大于、大于或等于、小于、小于或等于、开头是、结尾是、开头不是、结尾不是、包含、不包含、为空、不为空、IN、NOT IN |
| 比较值 | 与事件参数做匹配的参数值,可输入常量和函数表达式 |
| 右括号 | 过滤条件有多个时,可以添加括号组合改变条件的优先级,如过滤条件为(A or B)and C |
| 匹配脚本 | 复杂过滤条件可编写脚本进行事件过滤,比如:需要进行复杂计算、需要调用微服务/API做校验的场景等。 |
| 高级设置 | |
| 重试机制 | 目标执行失败后,系统自动重试机制,默认重试3次 |
1.4.2 关键按钮说明
| 按钮名称 | 详细解释 |
| 发布 | 发布事件订阅 |
| 撤销 | 撤销事件订阅 |
| 导入/导出 | 导入导出功能主要用于订阅数据分享和数据跨环境迁移,支持导出dts、导出zip、导入dts 导出dts:支持多条订阅导出成一个dts文件,单个文件最多支持20条数据。 导出zip:支持多条订阅导出成一个zip包,zip包内每一个订阅存放一个dts文件里面,单个zip包最多可导出20条数据。 导入dts:支持解析dts数据,并导入成订阅数据。单次最多导入20条数据。 |
| 订阅实例 | 查看订阅实例记录 |
2 主要操作
2.1 查询事件订阅
事件订阅列表支持订阅编码、订阅名称、事件编码、事件名称做模糊匹配搜索,也支持所有字段的表头过滤。

2.2 新增事件订阅
前提条件
监听事件的信息已维护,事件来源数据源已维护。
操作步骤
配置事件订阅核心步骤主要包括以下4步:配置触发事件>配置过滤规则>配置事件目标>配置容错机制>保存并发布

步骤1:配置触发事件
1)在事件订阅列表页面,点击“新增”按钮进入事件订阅维护页面。
2)录入订阅编码、订阅名称、订阅描述等基本信息。
3)配置订阅触发方式,支持事件触发和定时触发。
事件触发:选择触发事件、来源数据源
说明:来源数据源指事件来源系统环境,用户可按需灵活调整数据源以监听来自不同环境的事件。
定时触发:定时时间计划,可配置固定周期或Cron表达式。

步骤2:配置过滤规则
1)进入订阅规则配置页面。
2)填写规则说明。
3)配置事件过滤规则。事件过滤支持:参数匹配规则、脚本过滤规则。
① 参数匹配规则:
通过配置事件参数皮牌条件过滤,多个条件使用逻辑连接符组合,适合简单过滤的场景。详细说明如下:
事件参数:可选择事件参数或者上下文变量。
比较方式:请根据所选事件参数类型,选择正确的比较方式,目前支持16种:等于、不等于、大于、大于或等于、小于、小于或等于、开头是、结尾是、开头不是、结尾不是、包含、不包含、为空、不为空、IN、NOT IN。
比较值:支持输入常量值或简单的函数表达式。其中函数表达式支持使用事件参数变量($data)、上下文变量($event)、及事件参数里各层数组索引($index.$data_xxx)。
注:当比较方式选择“为空”或“不为空”时,比较值不需要录入。

逻辑连接符:连接多个条件,可选“与”和“或”。注:“与”的计算优先级高于“或”。
左右括号:加括号可提高括号内条件的计算优先级。注:左右括号成对配置,只配置一边括号运行时会报错。
参数预览:点击“预览”按钮,查看参数匹配条件的整体逻辑表达式。

② 脚本过滤规则
通过脚本代码编写过滤逻辑规则,可处理复杂的逻辑计算、数据转换、微服务调用等,主要面向复杂的过滤场景。 详细说明如下:
备注:建议简要概括脚本的主要内容或主要逻辑,增强脚本易读性。
匹配脚本:脚本可用变量包括:事件参数变量($data)和上下文参数变量($event),脚本需返回true/false以判断事件是否通过。
匹配脚本示例:
var result = false;
//判断单据是否审核通过
if($data.status == "A"){
//调用微服务判断单据业务逻辑是否符合条件,此处微服务返回true/false
result = invokeMicroService2("isc", "kem", "customService", $data.number);
};
return result; 
注意:
1、设置任何规则时,所有事件默认通过。
2、若同时配置参数匹配与脚本过滤,两者运行结果均需true事件方可通过;任一为false则事件不通过。
步骤3:配置事件目标
1)进入事件目标配置界面。
2)点击“添加目标”按钮,按需选择事件目标类型。
3)进行事件目标的配置。
目前支持4种事件目标:WebAPI、消息渠道、脚本服务、服务流程 。目标的说明如下,每种目标的详细操作
事件订阅介绍
声明:除非特别标注,否则均为本站原创文章,转载时请以链接形式注明文章出处。如若本站内容侵犯了原著者的合法权益,可联系本站删除。



