当前位置:   article > 正文

数据库审核工具SQLE接口调用

sqle用postman调用

点击上方蓝字关注我

e301cc6bbc7e115eafec84c300b7a857.png

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

1、创建自定义审核接口

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

  1. # coding=utf-8
  2. import requests
  3. from flask import request
  4. import json
  5. from flask import Flask
  6. app = Flask(__name__)
  7. @app.route('/audit_task', methods=['post','get'])
  8. def audit_task():
  9. get_data = request.args.to_dict()
  10. v_instance = get_data.get('instance')
  11. v_schema = get_data.get('schema')
  12. v_sql = get_data.get('sql')
  13. v_token = get_token()
  14. v_headers = {'Authorization': f"{v_token}"}
  15. #print(v_headers)
  16. url = 'http://127.0.0.1:10000/v1/tasks/audits'
  17. v_data_a = {'instance_name':v_instance,'instance_schema':v_schema,'sql':v_sql}
  18. #print(v_data_a)
  19. res = requests.post(url, data=v_data_a, headers=v_headers)
  20. v_taskid=res.json()['data']['task_id']
  21. url2='http://127.0.0.1:10000/v1/tasks/audits/'+str(v_taskid)+'{/sqls?page_index=1&page_size=10&no_duplicate=false'
  22. # print(url2)
  23. res2 = requests.get(url2, headers=v_headers)
  24. audit_result = res2.json()['data'][0]['audit_result']
  25. if not(audit_result):
  26. audit_result=f'审核通过'
  27. return audit_result
  28. def get_token():
  29. url = 'http://127.0.0.1:10000/v1/login'
  30. data = {"username": "admin", "password": "xxxx"}
  31. # res = requests.post(url, json=data)
  32. h = {
  33. 'Content-Type': 'application/json; charset=UTF-8'
  34. }
  35. res = requests.post(url, data=json.dumps(data), headers=h)
  36. t = json.loads(res.text)
  37. #print(type(json.loads(res.text)))
  38. token = t['data']['token']
  39. #print(t['data']['token'])
  40. return token
  41. if __name__ == '__main__':
  42.     app.run(host='0.0.0.0',port=5000, debug=True)

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

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

2. 调用测试

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

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

b39860d7f0ab52922487407cc79448fc.png

调用结果如下:

  1. [error]除了自增列及大字段列之外,每个列都必须添加默认值
  2. [error]表必须有主键
  3. [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

声明:本文内容由网友自发贡献,不代表【wpsshop博客】立场,版权归原作者所有,本站不承担相应法律责任。如您发现有侵权的内容,请联系我们。转载请注明出处:https://www.wpsshop.cn/w/从前慢现在也慢/article/detail/912818
推荐阅读
相关标签
  

闽ICP备14008679号