数据库审核工具SQLE接口调用
2023-02-25 18:20:34 时间
接上文数据库审核接口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_result
def 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 token
if __name__ == '__main__':
app.run(host='0.0.0.0',port=5000, debug=True)
注:使用时,需提前在SQLE中配置好实例信息。SQLE部署方式及简单配置可参考
2. 调用测试
运行以上接口,并使用postman调用进行测试
输入参数名特地调整了一下,以便于区别,测试情况如下
调用结果如下:
[error]除了自增列及大字段列之外,每个列都必须添加默认值
[error]表必须有主键
[error]新建表必须加入if not exists create,保证重复执行不报错
与上一篇结果一致,且 无需调用2次接口。
相关文章
- MySQL 字符串与时间操作函数
- 客快物流大数据项目(九十七):ClickHouse的SQL语法
- MySQL 索引与性能调优
- PHP 应用PDO技术操作数据库
- 客快物流大数据项目(九十八):ClickHouse的SQL函数
- HTTP请求头引发的注入问题 (SQL注入)
- C/C++ 静态编译SQLITE数据库API
- MySQL创建数据库基础篇
- 数据库设计范式之逻辑设计
- MySQL创建数据库基础篇
- MySQL 数据库读写分离
- C/C++ Qt 数据库QSql增删改查组件应用
- C/C++ Qt 数据库与TreeView组件绑定
- C/C++ Qt 数据库与ComBox多级联动
- C/C++ Qt 数据库与TableView多组件联动
- C/C++ Qt 数据库与SqlTableModel组件应用
- MySQL创建数据表基础篇
- C/C++ Qt 数据库SqlRelationalTable关联表
- C/C++ Qt 数据库与Chart实现历史数据展示
- 基于SpringBoot+Mybatis框架的私人影院预约系统(附源码,包含数据库文件)