事件订阅介绍

栏目:云苍穹知识作者:金蝶来源:金蝶云社区发布:2024-09-23浏览:4

事件订阅介绍


变更记录


产品版本

更新内容更新日期
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做校验的场景等。
注:匹配脚本需返回true/false以判断事件是否通过。

高级设置
重试机制
目标执行失败后,系统自动重试机制,默认重试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、消息渠道、脚本服务、服务流程 。目标的说明如下,每种目标的详细操作指引请点击链接查看。

  • WebAPI通过调用第三方系统的API服务将事件消息准确传递至第三方系统。

  • 消息渠道:通过消息渠道即时通知相关干系人。支持云之家、短信、邮件、企业微信等多种消息渠道,消息内容可自定义,且可灵活嵌入事件及上下文变量

  • 脚本服务:通过脚本编程实现事件目标复杂业务逻辑,如复杂数据转换、微服务调用、数据库执行等处理。

  • 服务流程:通过事件启动集成服务流程,支持业务自动化运行。

注:每个事件订阅最多支持5个事件目标。


步骤4:配置容错机制

1)进入高级设置界面。

2)选择重试机制,默认选择自动重试3次。

① 此处重试机制是针对事件目标执行失败的自动重试机制。

② 订阅方案内所有目标重试机制相同,但是只重试失败的目标



步骤5:订阅保存并发布

1)点击“保存”和“发布”按钮,完成事件订阅的发布。

2)订阅发布成功后,进入订阅详情页面,可查看订阅关系图、进行订阅测试。


2.3 查看订阅详情

订阅详情页图形化展示事件订阅关系,方便用户快速了解方案的业务逻辑,用户可切换节点卡片查看订阅配置详情。


前提条件

事件订阅已发布。


操作步骤

步骤1:事件订阅列表页面,点击“订阅编码”进入订阅详情界面。

步骤2:切换节点卡片,可查看各节点配置的详情信息。


2.4 订阅测试

支持Mock事件参数在线测试订阅方案,便于订阅方案的调试与优化,测试结果以订阅实例形式呈现。


前提条件

事件订阅方案已发布。


操作步骤

步骤1:事件订阅列表页面,点击“订阅编码”进入订阅详情界面。

步骤2:点击“测试”按钮,显示订阅测试弹窗,系统会自动Mock事件参数值。

步骤3:用户可修改事件参数值,然后点击“测试”,系统会使用Mock的数据模拟一次事件触发,并运行一次事件订阅方案。


步骤4:可以看到弹窗提示事件触发成功,已触发运行一条订阅实例,并给出了订阅实例ID。


步骤5:点击“查看结果”按钮,页面跳转至实例详情页面,即可看到模拟触发的事件订阅方案运行的详细情况,可查看各节点是否报错,各节点运行结果是否符合预期。


注意:

1、订阅测试目前只在测试环境提供,生产环境不提供此功能。建议订阅方案先在测试环境配置和调试好,再导入导出迁移到生产环境。

2、订阅测试前,请确保订阅方案中所连接的目标系统都为测试环境,消息接收账号为测试账号。


2.5 撤销事件订阅

订阅撤销是对订阅方案下线。订阅撤销后,事件触发了不会运行订阅方案


前提条件

事件订阅已发布。


操作步骤

步骤1:事件订阅列表页面,勾选已发布的数据,点击“撤销”按钮。

步骤2:事件订阅撤销后,状态会变为“草稿”。



后续操作

订阅撤销后,可编辑订阅数据。


2.6 导入事件订阅

事件订阅的导入导出功能主要用于事件订阅方案的分享或跨环境迁移,用户可以从某个环境导出已测试好订阅数据,再去其他环境进行导入,减少重复配置。


操作步骤

步骤1:点击事件订阅列表上方“导入dts”按钮,进入导入dts文件的弹窗。

步骤2:点击“上传文件”按钮,上传准备好的dts文件。允许上传多个dts文件,也支持多个订阅放在一个dts文件中导入。

步骤3:点击“开始解析”按钮,解析dts文件,并展示解析出来的数据资源以便用户确认数据。主资源列表显示解析出来的订阅数据,依赖资源列表显示解析出来的依赖数据,主要包括事件通道、事件分类、事件、数据源、WebAPI登记等。


步骤4:确认解析的数据和导入方式是否都正确。

步骤5:点击“导入”按钮,系统执行导入操作。

  • 若导入成功,回到事件订阅列表即可查看到导入的最新数据。

  • 若导入失败,勾选失败的数据,点击“错误信息”可查看到详细的报错信息。


特别注意

1、非手工创建的订阅数据不允许导出和导入,只能原单据修改再同步修改事件订阅数据。

2、订阅数据做导入新增时,导入后订阅状态都为“草稿”。

3、订阅数据做导入更新时,会先撤销订阅数据再做导入更新

  • 若订阅原本是“草稿”状态,导入更新后状态还是“草稿”。

  • 订阅数据原本是“已发布”状态,导入后状态会变为“草稿”。如果订阅监听的是操作事件,导入更新同时会撤销连接配置上绑定的事件。


2.7 查看订阅实例

前提条件

事件订阅已运行了订阅实例。


操作步骤

步骤1:勾选单条事件订阅数据,点击“订阅实例跳转至订阅实例列表页面,即可查看此订阅已运行的实例记录。


3、注意事项

1、编写脚本时,可前往【事件网格->其他->脚本帮助手册】查看在线帮助手册,里面有很多函数的使用教程和案例。

2、脚本编写完,可先使用【事件网格->其他->脚本执行工具】进行脚本执行,看是否符合预期。如果执行出现错误,可使用【事件网格->其他->脚本调试工具】进行脚本的调试和优化。

3、更详细的脚本编写教程请参考:脚本基本语法脚本开发指南脚本优化实例




事件订阅介绍

变更记录产品版本更新内容更新日期V6.0.13初始版本2024年6月13日1 简介1.1 功能介绍事件订阅定义监听事件、事件过滤、参数转换、事件路由...
点击下载文档
确认删除?
回到顶部
客服QQ
  • 客服QQ点击这里给我发消息