01.链接器
# 链接器与作用域详解
链接器(Linker) 是实现定时任务与外部系统(如宜搭低代码平台、数据中台、第三方 API)联动的核心中间件,负责建立任务执行流程与外部资源 / 服务的 “桥梁”,解决不同系统间的协议适配、数据格式转换与通信可靠性问题。
# (一)链接器的核心功能
协议适配与转换
支持主流通信协议(HTTP/HTTPS等)与数据格式(JSON、XML、CSV、二进制流)的自动转换。例如,定时任务输出的 JSON 格式数据,可通过 “平台链接器” 自动转换为平台API 要求的请求格式,无需手动编写格式适配代码。
认证鉴权统一管理
内置多种认证方式(API Key、OAuth2.0、Token 令牌),支持将外部系统的认证信息加密存储于若依平台的配置中心。例如,对接钉钉平台时,链接器可自动携带钉钉的应用密钥(AppKey/Secret)完成身份校验,避免认证信息散落在任务代码中。
通信可靠性保障
提供 “重试机制”“断点续传”“日志追溯” 能力:若因网络波动导致定时任务与外部系统通信失败,链接器会按预设规则(如 3 次重试、每次间隔 5 秒)自动重试;对于大数据量传输(如批量数据同步),支持断点续传,避免重复传输;所有通信过程均生成详细日志,包含请求参数、响应结果、耗时等信息,便于问题排查。
# (二)链接器的分类与应用场景
链接器类型 | 核心作用 | 典型应用场景 |
---|---|---|
平台链接器 | 对接集成自动化流程、数据集、报表模块 | 定时任务触发集成的数据清洗流程、推送数据至平台数据集 |
数据中台链接器 | 对接企业数据中台的数据源、数据服务 | 定时任务将清洗后的数据同步至数据中台的 ODS 层 |
第三方 API 链接器 | 对接通用第三方系统 API(如阿里云 OSS、钉钉) | 定时任务采集阿里云 OSS 中的日志文件、推送报表至钉钉群 |
数据库链接器 | 对接异构数据库(MySQL、Oracle、MongoDB) | 定时任务跨数据库同步数据(如从 MySQL 同步至 MongoDB) |
# 二、作用域:定义任务执行的资源访问边界
作用域(Scope) 是本次改造中为定时任务新增的 “资源访问权限控制维度”,用于明确任务在执行过程中可访问的系统资源范围(如数据范围、功能权限、外部服务权限),与 “数据隔离” 形成互补,进一步保障任务执行的安全性与可控性。
# (一)作用域的核心维度
数据作用域:限定数据访问范围
基于租户隔离基础,进一步细化数据访问边界,支持按 “业务维度” 配置数据范围:
按时间维度:如任务仅可访问 “近 30 天” 的订单数据;
按业务标签:如电商平台的 “华东区域店铺” 数据、“会员等级为 VIP” 的用户数据;
按数据权限:如仅可访问当前任务负责人所在部门的业务数据。
配置方式:在任务创建界面,通过 “数据作用域选择器” 勾选预设的维度规则,或自定义 SQL 过滤条件(如
create_time >= DATE_SUB(NOW(), INTERVAL 30 DAY)
)。
功能作用域:限定可调用的系统功能
控制定时任务可调用的若依平台内部功能模块,避免越权操作。例如:
普通统计类任务:仅开放 “数据查询”“报表生成” 功能权限;
数据同步类任务:额外开放 “数据写入”“文件上传” 功能权限;
禁止所有任务调用 “用户权限修改”“系统配置变更” 等核心功能。
实现逻辑:通过若依平台的 RBAC 权限体系,为定时任务分配专属 “任务角色”,角色关联预设的功能权限列表,任务执行时自动携带角色权限校验。
外部服务作用域:限定可联动的外部资源
结合链接器,控制定时任务可访问的外部系统 / 服务范围,避免无序调用外部资源。例如:
租户 A 的任务:仅允许通过 “宜搭平台链接器” 调用 “数据采集”“报表推送” 类流程,禁止调用 “数据删除” 类流程;
生产环境的任务:仅允许访问生产环境的宜搭应用,禁止访问测试环境资源。
配置逻辑:在链接器配置中绑定 “外部服务作用域规则”,任务调用链接器时,自动校验是否符合规则,不符合则拒绝执行并触发告警。
# (二)作用域的生效机制
执行前校验:定时任务触发时,系统先校验任务的作用域配置是否有效(如规则是否过期、权限是否变更),校验不通过则直接终止任务并记录告警日志。
执行中拦截:任务执行过程中,作用域拦截器会实时监控资源访问行为(如数据查询、功能调用、外部请求),若超出预设范围,立即阻断操作并返回 “越权访问” 提示。
执行后审计:任务执行完成后,生成 “作用域访问审计报告”,记录任务实际访问的资源范围、是否符合预设规则等信息,支持后续安全审计与合规检查。
# 三、链接器与作用域的协同关系
链接器与作用域共同构成定时任务的 “外部联动安全体系”,二者协同工作流程如下:
定时任务触发后,先通过作用域校验,确认任务可访问的外部服务范围(如 “允许调用宜搭数据清洗流程”);
任务通过链接器发起对外部系统的请求时,链接器自动携带作用域规则(如 “仅可清洗租户 A 的数据”),并完成协议适配与认证;
外部系统(如宜搭)接收请求后,结合链接器传递的作用域规则,进一步限制资源访问范围;
通信完成后,链接器将响应结果返回给定时任务,同时记录 “作用域生效日志” 与 “通信日志”,便于后续追溯。
这种协同模式既保障了定时任务与外部系统联动的灵活性,又通过作用域的 “边界控制” 避免了越权访问风险,尤其适用于多租户、高安全要求的企业级场景。
# 三、操作界面
操作界面如下:
- 连接器名称:定义一个链接器的名称。
- 所属应用:方便发布应用。
- 连接器图标: 链接器显示对应图标。
- 链接器描述: 对当前链接器进行描述说明。
- 域名: 配置请求Api的域名地址。
- 请求协议:配置请求Api的类型
- Base Url:配置跟目录地址。
- 身份验证类型:无身份验证、API密钥、基本身份验、证钉钉开放平台验证、Token认证、微信认证、百度认证、Teambition支持这些验证方式。
具体动作操作界面:
- 动作标识:调用一个动作标识字符串,方便后面的调用。
- 动作名称:定义一个动作的名称。
- 动作描述:定义动作描述信息。
- 请求地址:输入请求地址
- 请求方法:配置请求Api的方式。
- 请求参数设置:配置请求Api需要哪些传入那些参数。