[自研开源] MyData v0.8.1 更新日志

开源地址:gitee | github
详细介绍:MyData 基于 Web API 的数据集成平台
部署文档:用 Docker 部署 MyData
使用手册:MyData 使用手册
试用体验:https://demo.mydata.work
交流Q群:430089673

介绍

MyData ,一个旨在简化 Web 应用之间数据对接的工具,提高日常工作效率,如其名“我的数据” 旨在让用户更好的掌控和管理数据。

通过界面配置 实现多应用之间 基于API的数据对接。

诚邀体验,免费技术支持,详见 https://blog.csdn.net/tle3212000/article/details/137639827

0.8.1

主要更新内容:

  1. 新增Web hook推送数据模式;
  2. API地址支持{PathVariable}模式;
    在这里插入图片描述

新功能

  • 任务管理

    • 提供数据类型 增加“调用API”和“接收推送”模式选项,平台提供接口接收数据;
      在这里插入图片描述
  • 接收推送

    • 新增接口,支持web hook或API主动推送数据,实现认证和接收推送的数据,并通过任务执行后续流程;
@Slf4j
@RestController
@AllArgsConstructor
@RequestMapping(MdConstant.API_PREFIX_MANAGE + "/integration")
public class IntegrationEndpoint {@Resourceprivate final ITaskService taskService;@Resourceprivate final JobExecutor jobExecutor;@PostMapping("/{task_url}")public R post(@PathVariable("task_url") String taskUrl, @RequestHeader HttpHeaders httpHeaders, @RequestBody String body) {log.info("integration post");return execute(taskUrl, httpHeaders, body);}@PutMapping("/{task_url}")public R put(@PathVariable("task_url") String taskUrl, @RequestHeader HttpHeaders httpHeaders, @RequestBody String body) {log.info("integration put");return execute(taskUrl, httpHeaders, body);}private R execute(String taskUrl, HttpHeaders httpHeaders, String body) {log.info("integration url : {}", taskUrl);log.info("integration headers : {}", httpHeaders);log.info("integration body : {}", body);Assert.notEmpty(taskUrl, "操作失败:地址 {} 无效!", taskUrl);Task task = taskService.findByApiUrl(taskUrl);Assert.notNull(task, "操作失败:地址 {} 无效!", taskUrl);Assert.equals(task.getTaskStatus(), MdConstant.TASK_STATUS_RUNNING, "操作失败:任务未启动 无法执行!");Integer authType = task.getAuthType();if (MdConstant.TASK_AUTH_TYPE_NONE.equals(authType)) {// do nothing} else {// 检查认证参数配置是否有效Map<String, String> authParams = task.getAuthParams();if (CollUtil.isNotEmpty(authParams)) {Assert.notNull(task, "操作失败:认证参数未配置!");}// 校验认证参数if (MdConstant.TASK_AUTH_TYPE_API_KEY.equals(authType)) {checkApiKey(authParams, httpHeaders);} else if (MdConstant.TASK_AUTH_TYPE_BASIC.equals(authType)) {checkBasicAuth(authParams, httpHeaders);} else if (MdConstant.TASK_AUTH_TYPE_HMAC.equals(authType)) {// TODO} else {throw new IllegalArgumentException("操作失败:不支持任务的认证类型!");}}// 执行任务流程 接收数据jobExecutor.acceptData(task, body);return R.success(StrUtil.format("任务 [{}] 开始执行,请查看日志。", task.getTaskName()));}// ...
}
  • API管理
    • url支持{field}格式的变量 适配PathVariable模式,调用API时从数据中提取指定字段值并替换;
      在这里插入图片描述

优化

  • 任务管理

    • 优化cron编辑器,减少占用空间;
      在这里插入图片描述

    • 简化任务卡片,其他信息通过点击显示;
      在这里插入图片描述

    • 订阅消费支持选择来源任务,以便指定触发执行的前置任务;
      在这里插入图片描述

    • 消费数据类型 增加“单数据模式”开关,以便发送一条记录时 用集合或单个对象;

    • 增加下次执行时间,以便了解任务运行情况;

  • 定时任务

    • 任务日志 提前到存入缓存时就生成,以便了解任务运行情况;

    • 增加数据对比,减少无变更数据的更新写入操作;

修复

  • 任务管理

    • 消费数据类型任务,向API发送业务数据后 修复未接收返回和更新自定义变量的问题;
  • 定时任务

    • 增加数据批次标识,解决分批获取数据后订阅任务丢失数据问题;

    • 修复过滤条件值类型不匹配问题;

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.hqwc.cn/news/626721.html

如若内容造成侵权/违法违规/事实不符,请联系编程知识网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

微前端 qiankun 框架接入问题记录

背景&#xff1a;需要搭建一个平台&#xff0c;这个平台的主要功能是集成各个子系统&#xff0c;方面对系统之间的统一管理。在搭建这样一个平台时&#xff0c;前端考虑使用微前端架构方式实现&#xff0c;使用的框架是 qiankun&#xff0c;本文主要记录在 qiankun 框架使用过程…

第20天:信息打点-红蓝队自动化项目资产侦察企查产权武器库部署网络空间

第二十天 一、工具项目-红蓝队&自动化部署 自动化-武器库部署-F8x 项目地址&#xff1a;https://github.com/ffffffff0x/f8x 介绍&#xff1a;一款红/蓝队环境自动化部署工具,支持多种场景,渗透,开发,代理环境,服务可选项等.下载&#xff1a;wget -O f8x https://f8x.io…

【MATLAB源码-第31期】基于matlab的光通信中不同调制方式的误码率对比。

操作环境&#xff1a; MATLAB 2022a 1、算法描述 1. 光通信&#xff1a; 光通信是一种利用光波传输信息的技术。它使用光信号作为信息的载体&#xff0c;通过调制光波的特性来传输数据&#xff0c;通常利用光纤作为传输介质。光通信具有高带宽、低延迟和大容量等优点&#…

利用CNN-Bigru-Attention模型输电线路故障诊断(Python代码,TensorFlow框架,)

效果视频&#xff1a;利用CNN-Bigru-Attention模型输电线路故障诊断(Python代码&#xff0c;TensorFlow框架&#xff0c;压缩包带有数据集和代码&#xff0c;解压缩可直接运行)_哔哩哔哩_bilibili 售后包免费远程协助运行&#xff08;用向日葵或者todesk软件协助&#xff09; …

构建数据平台架构指导原则与平台核心组件说明

文章目录 前言什么是数据架构&#xff1f;数据架构如何帮助构建数据平台&#xff1f;数据平台核心组件数据源系统数据加载数据存储数据处理和转换提供使用数据的方式公共服务 前言 湖仓一体是最近几年非常流行的现代大数据架构&#xff0c;目前它已经成为设计数据平台架构的首…

权威Scrum敏捷开发企业级实训/敏捷开发培训课程

课程简介 Scrum是目前运用最为广泛的敏捷开发方法&#xff0c;是一个轻量级的项目管理和产品研发管理框架。 这是一个两天的实训课程&#xff0c;面向研发管理者、项目经理、产品经理、研发团队等&#xff0c;旨在帮助学员全面系统地学习Scrum和敏捷开发, 帮助企业快速启动敏…

【yolo数据集合并方法】

yolo数据集合并方法 1.数据集容2.数据集合并 1.数据集容 包含训练集、验证集和测试集。 每一个数据集中包含图像文件夹和标签文件夹。 yaml文件中定义了配置参数&#xff0c;包括目标识别的class类别&#xff1a; 2.数据集合并 需要修改labels文件夹下txt文件class信息&…

用html画一个睡觉的熊动画

<!DOCTYPE html> <html lang"en"><head><meta charset"UTF-8"><title>睡觉的熊动画</title><link rel"stylesheet" href"./style.css"> </head><body><div id"contain…

reportlab 生成pdf文件 (python)

1 安装 pip install reportlab2 应用场景 通过网页动态生成PDF文档大量的报告和数据发布用XML一步生成PDF 官网案例 3 PLATYPUS Platypus是“Page Layout and Typography Using Scripts”&#xff0c;是使用脚本的页面布局和印刷术的缩写&#xff0c;这是一个高层次页面布局…

Python-Qt上位机设计

1.下载designer软件 2.自己设计一个界面 3.在指定部件加入点击响应命令函数名 鼠标点击目标部件拖出信号线 4.保存生成.ui文件&#xff0c;用pycharm打开 5.生成.py文件 6.新建一个功能文件 上图中class MainWindow的具体代码不予展示。 7.生成exe文件 将写好的py文件保存&a…

CentOS 7 下安装RabbitMQ教程(亲测有效)

一、做准备&#xff08;VMWare 虚拟机上的 CentOS 7 镜像 上安装的&#xff09; &#xff08;1&#xff09;准备RabbitMQ的安装包&#xff08;rabbitmq-server-3.9.0-1.el7.noarch.rpm&#xff09;下载地址mq &#xff08;2&#xff09;还得准备erlang语言&#xff08;erlang…

AcWing 796. 子矩阵的和——算法基础课题解

AcWing 796. 子矩阵的和 题目描述 输入一个 n 行 m 列的整数矩阵&#xff0c;再输入 q 个询问&#xff0c;每个询问包含四个整数 x1,y1,x2,y2&#xff0c;表示一个子矩阵的左上角坐标和右下角坐标。 对于每个询问输出子矩阵中所有数的和。 输入格式 第一行包含三个整数 n&…