TDengine服务端和客户端版本必须匹配,若不匹配,会报错:
taos connect failed, reason: Invalid app version.

有时需要登录不同版本的服务端,要安装不同版本的客户端很麻烦。还好TDengine支持RESTful,用python写了一个简单的模拟客户端的查询脚本,可以与TDengine服务端进行交互。

代码如下:


import requests
import json
import sys
import getopt
import os
import readline
readline.write_history_file('.history')def pprint(ss:list):lstr=",  ".join([str(s) for s in ss])return lstr
def perror(estr:str):print(" \n \033[0;37;41mCanot Connecto to {estr}! \033[0m \n ".format(estr=estr))
def status_query(host: str, port: int, user: str, password: str, cmd: str):url = "http://%s:%d/rest/sql" % (host, port)try:resp = requests.post(url, cmd, auth=(user, password),timeout=10)except:perror(host)return(2)else:return(json.loads(json.dumps(resp.json())))
def rest_print(rvalue:dict):rcode=(rvalue['status'])if rcode == 'succ': print("\033[0;37;42m{hed}\033[0m".format(hed=pprint(rvalue['head'])))data_ll=len(rvalue['data'])if data_ll == 0:data_l=1else:data_l=len(str(rvalue['data'][0]))head='-'print(head.center(data_l,'-'))for ii in range(data_ll):print(pprint(rvalue['data'][ii]))iii=ii+1if iii>90 and iii%100 == 0:anykey=input("{rnum} rows output.Press Enter to Contine......".format(rnum=iii)).strip() else:print(" \n Excute Error, {error} !\n ".format(error=rvalue['desc']))if len(sys.argv) <= 1:print('\nptaos.py -h host [-p port -u root -P password]\n')exit
else:try:opts,args=getopt.getopt(sys.argv[1:],"h:p:u:P")except getopt.GetoptError:print('\nptaos.py -h host [-p port -u root -P password]\n')sys.exitelse:host=''port=6041user='root'password='taosdata'for opt,arg in opts:if opt == '-h':host=argelif opt== '-p':port=int(arg)elif opt == '-u':user=argelif opt == '-P':passowrd=argelse:sys.exitos.system("clear")qr=status_query(host,port,user,password,'select server_version()')if qr != 2 and qr['status'] == 'succ':version=qr['data'][0][0]cquery=status_query(host,port,user,password,'show connections')qquery=status_query(host,port,user,password,'show queries')cnum=cquery['rows']qnum=qquery['rows']print('\n\033[0;32;40m TDengine Version:{version} Connections:{cnum} Queries:{qnum} \033[0m\n'.format(version=version,cnum=cnum,qnum=qnum))while True:SQL=input("\n\033[0;32;40m[{cname}]>\033[0m".format(cname=host)).strip() if SQL == 'q':breakUSERSQL=SQL.replace(';','')qr=status_query(host,port,user,password,USERSQL)if qr != 2:rest_print(qr)    continue

TDengine RESTful 客户端相关推荐

  1. 声明式RESTful客户端在asp.net core中的应用

    1 声明式RESTful客户端 声明式服务调用的客户端,常见有安卓的Retrofit.SpringCloud的Feign等,.net有Refit和WebApiClient,这些客户端都是以java或. ...

  2. RESTful客户端库:RestClient

    WebService 话说我刚知道这词的时候还是十二年前-大约2001年,微软的.net刚出来的时候,这货就热了,只不过当年这货的标配通讯协议是SOAP.当年我觉得这货还是很方便的,但是在尝鲜过后,我 ...

  3. 使用RESTful客户端API进行GET / POST

    互联网上有很多如何使用RESTful Client API的东西. 这些是基础. 但是,尽管该主题看起来微不足道,但仍然存在一些障碍,尤其是对于初学者而言. 在这篇文章中,我将尝试总结我的专业知识,以 ...

  4. restful java客户端_如何在Java客户端调用RESTful服务

    在这个例子中,我们将看到如何使用java.net包实用工具,创建一个访问REST服务RESTful的客户端.当然这不是创建一个RESTful客户端最简单的方法,因为你必须自己读取服务器端的响应,以及J ...

  5. 如何在Java客户端调用RESTful服务

    在这个例子中,我们将看到如何使用java.net包实用工具,创建一个访问REST服务RESTful的客户端.当然这不是创建一个RESTful客户端最简单的方法,因为你必须自己读取服务器端的响应,以及J ...

  6. TDengine 在IT运维监控领域的应用

    目录 前言 一.TD 特点 二.安装部署 2.1 部署 2.2 验证 三.应用领域 3.1 运维监控 3.2 远端扩展 总结 前言 TDengine 由北京涛思数据科技有限公司(TAOS Data)自 ...

  7. 如何从InfluxDB/OpenTSDB无缝连接到TDengine

    小 T 导读:taosAdapter 是 TDengine 这款时序数据库(Time Series Database)的配套工具,是 TDengine 集群和应用程序之间的桥梁和适配器.当我们需要从数 ...

  8. RESTful编程究竟是什么?

    RESTful编程究竟是什么? #1楼 这可能是它的样子. 创建具有三个属性的用户: POST /user fname=John&lname=Doe&age=25 服务器响应: 200 ...

  9. Go 语言编程 — go-restful RESTful 框架

    目录 文章目录 目录 一个 RESTful API 框架需要什么? go-restful 核心概念 Route WebService Container 过滤器(Filter) 响应编码(Respon ...

最新文章

  1. 【转】statfs获得硬盘使用情况 模拟linux命令 df
  2. java web windows_Java Web服务器部署指南(windows版)
  3. 同步工具之CyclicBarrier循环栅栏
  4. linux释放内存后设备起不来,Linux-Memory小记
  5. Invalid byte 2 of 2-byte UTF-8 sequence解决方案
  6. mysql后天命令查下显示_MySQL命令
  7. 随手记-----cookie
  8. moea切比雪夫_基于分解的多目标进化优化MOEA/D之切比雪夫方法代码
  9. 《头文字D》热门同人插画欣赏
  10. 开发团队人员配备与角色分配
  11. 解决windows下无法ctrl+A全选数据快捷键的问题
  12. 3D模型制作的流程的步骤
  13. #搜索#(ssl 1758)连通图
  14. 配置 不使用rsa 密码_了解使用RSA的密码学
  15. 老师利用计算机分析学生成绩属于什么,计算机二级考试真题-Excel-小蒋-老师学生成绩分析...
  16. 用js实现动态添加删除表格数据
  17. 前端加载高德离线地图的解决方案
  18. Spring Cloud(15)——配置中心
  19. 通达信金融终端卖点爆点怎么显示?
  20. 打死我,我也不去美国当市长

热门文章

  1. 重力感应贪吃蛇(C51 MPU6050 8*8LED点阵)
  2. 计算机应用基础考试试题及答案 在word中,用户建立的文件默认,2009年10月全国自考计算机应用基础历年真题...
  3. echarts 好看的柱形图
  4. 这个公式,让你的学习更高效 (L先生说-微信公众号)
  5. 【selection】 学习光标API并实现编辑区插入表情图片的功能
  6. EBCDIC 与 GBK 的字符编码及其转换(转)
  7. 假期读书计划表怎么写?能够随时查看读书计划的手机便签
  8. 微信小程序获取当前地址以及选择地址详解
  9. 微信小程序如何在地图选择地址并返回经纬度
  10. c罗python可视化分析_鸟枪换炮,利用python3对球员做大数据降维(因子分析得分),为C罗找到合格僚机...