数据库审核工具SQLE接口调用
创始人
2024-03-24 06:23:25
0

点击上方蓝字关注我

e301cc6bbc7e115eafec84c300b7a857.png

接上文数据库审核接口SQLE的探索使用,本次自定义接口进行调用,实现需求。

1、创建自定义审核接口

因直接调用SQLE的审核接口,会出现token过期,且审核及结果查询接口是分开的,因此,出于以上2个原因的考虑,重新编写一个接口用于调用SQLE的审核接口并返回审核结果。参考代码如下:

# coding=utf-8
import requests
from flask import request
import json
from flask import Flask
app = Flask(__name__)
@app.route('/audit_task', methods=['post','get'])def  audit_task():get_data = request.args.to_dict()v_instance = get_data.get('instance')v_schema = get_data.get('schema')v_sql = get_data.get('sql')v_token = get_token()v_headers = {'Authorization': f"{v_token}"}#print(v_headers)url = 'http://127.0.0.1:10000/v1/tasks/audits'v_data_a  = {'instance_name':v_instance,'instance_schema':v_schema,'sql':v_sql}#print(v_data_a)res = requests.post(url, data=v_data_a, headers=v_headers)v_taskid=res.json()['data']['task_id']url2='http://127.0.0.1:10000/v1/tasks/audits/'+str(v_taskid)+'{/sqls?page_index=1&page_size=10&no_duplicate=false'# print(url2)res2 = requests.get(url2,  headers=v_headers)audit_result = res2.json()['data'][0]['audit_result']if not(audit_result):audit_result=f'审核通过'return audit_resultdef  get_token():url = 'http://127.0.0.1:10000/v1/login'data = {"username": "admin", "password": "xxxx"}# res = requests.post(url, json=data)h = {'Content-Type': 'application/json; charset=UTF-8'}res = requests.post(url, data=json.dumps(data), headers=h)t = json.loads(res.text)#print(type(json.loads(res.text)))token = t['data']['token']#print(t['data']['token'])return tokenif __name__ == '__main__':app.run(host='0.0.0.0',port=5000, debug=True)

注:使用时,需提前在SQLE中配置好实例信息。SQLE部署方式及简单配置可参考

数据库审核工具SQLE部署及使用

2. 调用测试

运行以上接口,并使用postman调用进行测试

输入参数名特地调整了一下,以便于区别,测试情况如下

b39860d7f0ab52922487407cc79448fc.png

调用结果如下:

[error]除了自增列及大字段列之外,每个列都必须添加默认值
[error]表必须有主键
[error]新建表必须加入if not exists create,保证重复执行不报错

与上一篇结果一致,且 无需调用2次接口。

0fcfd1b0f6bd471e137bddb644286119.png

往期精彩回顾

1.  MySQL高可用之MHA集群部署

2.  mysql8.0新增用户及加密规则修改的那些事

3.  比hive快10倍的大数据查询利器-- presto

4.  监控利器出鞘:Prometheus+Grafana监控MySQL、Redis数据库

5.  PostgreSQL主从复制--物理复制

6.  MySQL传统点位复制在线转为GTID模式复制

7.  MySQL敏感数据加密及解密

8.  MySQL数据备份及还原(一)

9.  MySQL数据备份及还原(二)

4333dfca2f81406ad29bd3664153f03c.png

扫码关注     

a680780f2534d2c853873ac26d240fb9.jpeg

61c19653ba5538a5555dbb84242b0e8d.png

14419c117b160298623d90cf7bab2308.png

相关内容

热门资讯

修复 爱普生 EPSON L4... L4151 L4153 L4156 L4158 L4163 L4165 L4166 L4168 L4...
【PdgCntEditor】解... 一、问题背景 大部分的图书对应的PDF,目录中的页码并非PDF中直接索引的页码...
监控摄像头接入GB28181平... 流程简介将监控摄像头的视频在网站和APP中直播,要解决的几个问题是:1&...
在Word、WPS中插入AxM... 引言 我最近需要写一些文章,在排版时发现AxMath插入的公式竟然会导致行间距异常&#...
protocol buffer... 目录 目录 什么是protocol buffer 1.protobuf 1.1安装  1.2使用...
【前端】‘??‘与‘||‘有什... 0 问题 经常写const data = res.data.a ?? ''或者const d...
Windows10添加群晖磁盘... 在使用群晖NAS时,我们需要通过本地映射的方式把NAS映射成本地的一块磁盘使用。 通过...
牛客计算器的改良(Python... 文章目录1.题目描述2.输入描述:3.输出描述:4.示例15.分析6.代码7.结语 链接࿱...
正大杯|市调大赛|2023备赛... 关键信息 同时随着精细化养宠趋势的深入,宠物消费类目日渐丰富。 本报告通过 Niuco...
QGIS下载在线地图(Goog... 前言 国内外有很多在线地图下载软件,但功能单一,基本上只能下载数据&#x...