码农知识堂 - 1000bd
  •   Python
  •   PHP
  •   JS/TS
  •   JAVA
  •   C/C++
  •   C#
  •   GO
  •   Kotlin
  •   Swift
  • 数据库审核工具SQLE接口调用


    点击上方蓝字关注我

    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

  • 相关阅读:
    公平锁与非公平锁的核心原理
    MyBatis 核心配置讲解(上)
    【ContextCapture建模精品教程】三维实景模型生成集群设置(2)——工程文件网络路径设置
    JavaScript -- 多种数组深拷贝和浅拷贝的方法的总结
    React 前端应用中快速实践 OpenTelemetry 云原生可观测性(SigNoz/K8S)
    在比特币上使用可检索性证明支付存储费用
    Android14之修改编译vendor.img(二百零七)
    iPhone 15 Pro有5项重大设计升级,让iPhone 15看起来很无聊
    61-70==c++知识点
    剑指 Offer 17. 打印从1到最大的n位数(大数问题)
  • 原文地址:https://blog.csdn.net/gjc592/article/details/128213429
  • 最新文章
  • 攻防演习之三天拿下官网站群
    数据安全治理学习——前期安全规划和安全管理体系建设
    企业安全 | 企业内一次钓鱼演练准备过程
    内网渗透测试 | Kerberos协议及其部分攻击手法
    0day的产生 | 不懂代码的"代码审计"
    安装scrcpy-client模块av模块异常,环境问题解决方案
    leetcode hot100【LeetCode 279. 完全平方数】java实现
    OpenWrt下安装Mosquitto
    AnatoMask论文汇总
    【AI日记】24.11.01 LangChain、openai api和github copilot
  • 热门文章
  • 十款代码表白小特效 一个比一个浪漫 赶紧收藏起来吧!!!
    奉劝各位学弟学妹们,该打造你的技术影响力了!
    五年了,我在 CSDN 的两个一百万。
    Java俄罗斯方块,老程序员花了一个周末,连接中学年代!
    面试官都震惊,你这网络基础可以啊!
    你真的会用百度吗?我不信 — 那些不为人知的搜索引擎语法
    心情不好的时候,用 Python 画棵樱花树送给自己吧
    通宵一晚做出来的一款类似CS的第一人称射击游戏Demo!原来做游戏也不是很难,连憨憨学妹都学会了!
    13 万字 C 语言从入门到精通保姆级教程2021 年版
    10行代码集2000张美女图,Python爬虫120例,再上征途
Copyright © 2022 侵权请联系2656653265@qq.com    京ICP备2022015340号-1
正则表达式工具 cron表达式工具 密码生成工具

京公网安备 11010502049817号