集成云HUB自定义事件功能说明
变更记录
产品版本 | 更新内容 | 更新日期 |
4.0.010 | 初始版本 | 2021-11-10 |
5.0.011 | 更新启动方案事件说明 | 2023-1-11 |
1 简介
1.1 功能介绍
为了扩展集成功能的涵盖面,增强方案配置的灵活性,集成服务云新增了预置的连接类型:集成云HUB,连接配置和数据源:预置集成云HUB 。
通过预置集成云HUB,集成服务云可以将已经配置好的数据源、启动方案、服务流程这三类集成资源实例化为‘事件源’类型的集成对象。‘事件源’是集成云为了将实例化的集成HUB对象与其他集成对象区分开来,所新增的集成对象类型。
1.2 应用场景
事件源类型的集成对象可以用作集成服务云中事件触发方案的源对象或是用作集成对象转API。通过监听此类集成对象的连接状态或执行结果,集成服务云可以获取到相应的错误堆栈、详细执行信息等,从而进行下一步业务操作。
1.3 系统路径
【集成管理】→【集成元数据】→【集成对象】
2 主要操作
2.1 数据源
前提条件
数据源有【预置集成云HUB】,如果没有该类型,需要手工新增。
操作步骤
步骤1: 新增集成对象
在集成对象列表界面,左树选中预置集成云HUB,点击“同步元数据列表”全量同步。
图1 同步元数据列表
在集成对象列表界面,左树选中预置集成云HUB,点击“新增”。填写全名(isc_data_source/数据源编码)后,点击“保存”再点击 “同步”。
图2 新增事件源集成对象
步骤2: 功能说明
监听的事件分为以下两种:
1) 活跃:该数据源对应连接配置的连接状态正常;
2) 异常:该数据源对应连接配置的连接状态异常;
图3 监听数据源的事件
注:每十分钟校验一次状态信息(后台调度计划iscb_connection_test_SKDJ_S),只有当状态发生变化时才触发后续流程。
可以获取到的事件信息如下:
编码 | 名称 | 数据类型 |
id | 数据源ID | long |
number | 数据源编码 | string |
name | 数据源名称 | ml_string |
conn_type | 连接类型 | ENUM |
conn_state | 连接状态 | ENUM |
conn_id | 连接ID | long |
conn_number | 连接编码 | string |
conn_name | 连接名称 | ml_string |
server_ip | 服务器IP或域名 | string |
server_port | 服务器端口 | string |
http_protocal | HTTP协议 | string |
$error | 错误内容摘要 | string |
$error_tag | 错误堆栈 | string |
2.2 启动方案
操作步骤
步骤1: 新增集成对象
在集成对象列表界面,左树选中预置集成云HUB,点击“同步元数据列表”全量同步。
在集成对象列表界面,左树选中预置集成云HUB,点击“新增”。填写全名(isc_data_copy_trigger/启动方案编码)后,点击“保存”再点击 “同步”。
图4 新增事件源集成对象
步骤2: 功能说明
监听的事件分为以下两种:
1) 单据执行成功:事件源执行日志成功时,返回单条数据执行信息;
2) 单据执行失败:事件源执行日志失败时,返回单条数据执行信息;
注:在脚本中使用#_IGNORE_TAG将数据标记为“忽略”或是事件触发的启动方案不满足过滤条件,也将触发“单据执行成功”的事件。故在单据执行成功触发的后续方案中应检查src_data和tar_data中是否有忽略标记,只有当没有忽略标记或忽略标记都为false时才执行后续逻辑。
图5 监听启动方案的事件
可以获取到的事件信息如下:
编码 | 名称 | 数据类型 |
id | 执行结果ID | long |
number | 执行结果编码 | string |
name | 执行结果名称 | ml_string |
trigger | 启动方案 | STRUCT |
schema | 集成方案 | STRUCT |
src_data | 源单数据 | meta |
tar_data | 目标单数据 | meta |
$error | 错误内容摘要 | string |
$error_tag | 错误堆栈 | string |
2.2 服务流程
操作步骤
步骤1: 新增集成对象
在集成对象列表界面,左树选中预置集成云HUB,点击“同步元数据列表”全量同步。
在集成对象列表界面,左树选中预置集成云HUB,点击“新增”。填写全名(isc_service_flow/服务流程编码)后,点击“保存”再点击 “同步”。
图6 新增事件源集成对象
步骤2: 功能说明
监听的事件分为以下三种:
1) 结束:该服务流程正常执行结束;
2) 失败:该服务流程执行过程中抛出异常执行失败;
3) 撤销:该服务流程执行中被人为撤销或运行至流程终止节点自动撤销;
图7 监听服务流程的事件
可以获取到的事件信息如下:
编码 | 名称 | 数据类型 |
id | 流程实例ID | long |
number | 流程实例编码 | string |
name | 流程实例名称 | ml_string |
$params | 流程变量 | STRUCT |
flow | 流程定义 | STRUCT |
flow_r | 已发布的流程定义 | STRUCT |
creator | 发起人 | STRUCT |
modifier | 修改人 | STRUCT |
state | 状态 | ENUM |
created_time | 发起时间 | datetime |
modified_time | 修改时间 | datetime |
$error | 错误内容摘要 | string |
$error_tag | 错误堆栈 | string |
3.1.1 场景描述
将数据源(KDEAS850)实例化为事件源类型的集成对象(isc_data_source/KDEAS850),创建事件触发类型的服务流程,监听该数据源的连接状态。当数据源对应的连接配置状态发生异常时,触发服务流程发送连接配置的错误信息给指定用户。
区别于连接异常通知发送功能,数据源对应的事件源集成对象可以获取到更多的连接信息,如连接异常的错误日志。并且可以更加灵活地配置后续动作,如:发送通知,执行脚本,调API等。
注:每十分钟校验一次连接状态(后台调度计划iscb_connection_test_SKDJ_S),当连接状态从成功变为失败时触发该流程。
3.1.2 实现步骤
根据数据源编码KDEAS850,同步数据源对应的事件源集成对象;
创建事件触发类型的服务流程,并设置流程变量与依赖资源;
设置开始节点,选择“异常”类型的单据事件,并填充想要获取的事件信息;
配置通知发送节点,发送信息为获取到的事件信息;
消息接收效果如下:
将启动方案(demo1_demo2)实例化为事件源类型的集成对象(isc_data_copy_trigger/demo1_demo2),创建两个事件触发类型的启动方案,分别监听单据执行成功和单据执行失败的任务。当启动方案执行结束后,回写成功或失败的相关事件信息到源单上。
注:在脚本中使用#_IGNORE_TAG将数据标记为“忽略”或是事件触发的启动方案不满足过滤条件。故在单据执行成功触发的后续方案中应检查src_data和tar_data中是否有忽略标记,只有当没有忽略标记或忽略标记都为false时才执行后续逻辑。
创建两个数据集成方案,源对象选择事件源集成对象,目标对象选择想要回写的集成对象demo1,并配置回写源单的字段映射;
监听执行成功:
配置number为候选键字段,并把“同步成功”回写到别名字段上(此处为演示使用,实际应使用状态字段)。
监听执行失败:
配置number为候选键字段,并把错误内容摘要回写到别名字段上(此处为演示使用,实际应使用错误信息字段)。
根据上一步创建的两个集成方案,分别创建事件触发类的启动方案。
回写成功信息的集成方案,执行计划选择“单据执行成功”。
回写失败信息的集成方案,执行计划选择“单据执行失败”。
实际执行效果如下:
将服务流程(sf_demo1todemo2)实例化为事件源类型的集成对象(isc_service_flow/sf_demo1todemo2),创建两个事件触发类型的服务流程,分别监听失败和结束的任务。
当服务流程执行正常结束时,反写源单执行成功的状态,并将相关执行信息打印到monitor中;当服务流程执行失败时,反写源单执行失败的状态,并将相关执行日志发送通知给指定人员。
服务流程(sf_demo1todemo2)如下:
创建事件触发类的服务流程listen_demo1succ,监听服务流程sf_demo1todemo2,执行成功的事件。将执行成功回写到源单上,并将事件信息打印到monitor;
反写源单状态节点:
当demo1同步到demo2成功时,以number为候选键,将“同步成功”的信息回写到name字段上。
创建事件触发类的服务流程listen_demo1fail,监听服务流程sf_demo1todemo2,执行失败的事件。将执行失败回写到源单上,并将错误的日志发送通知给指定人员;
反写源单状态节点:
以number为候选键,将失败信息回写到name字段上(此处为演示使用,实际应回写到状态字段上)。
保存源单节点:
发送通知节点:
实际执行效果如下:
注:因脱敏脚本导致hub连接配置清空的,可以通过以下SQL语句重新预置集成云HUB连接类型、连接配置和数据源。
集成云HUB自定义事件功能说明
本文2024-09-23 00:50:12发表“云苍穹知识”栏目。
本文链接:https://wenku.my7c.com/article/kingdee-cangqiong-142046.html