使用Python的 taosrest 软件包通过 REST 连接查询 TDengine数据库
Python 支持以下几种方式连接 TDengine 数据库
1. 原生连接
原生连接通过加载 TDengine 客户端驱动程序(如 libtaos.so 或 taos.dll)直接与 TDengine 服务端建立连接。这种方式性能高,功能丰富,支持数据写入、查询、数据订阅、schemaless 接口和参数绑定接口等功能。
2. REST 连接
REST 连接通过 taosAdapter 提供的 HTTP 接口与 TDengine 服务端建立连接。这种方式不需要安装 TDengine 客户端驱动,依赖小,但不支持 schemaless 和数据订阅等功能。
3. WebSocket 连接
WebSocket 连接通过 taosAdapter 提供的 WebSocket 接口与 TDengine 服务端建立连接。这种方式兼具原生连接的高性能和 REST 连接的低依赖性,功能上与原生连接有少量不同。
使用 REST 连接的示例
# tdengine_query.py
import taosrest
import pandas as pd
# 配置信息
def get_tdengine_config():
"""
返回 TDengine 数据库的连接配置
"""
return {
"url": "http://192.168.1.1:8080",
"user": "root",
"password": "taosdata",
"database": "node_red"
}
# 数据库连接
def connect_to_tdengine(config):
"""
连接到 TDengine 数据库并返回连接对象
"""
try:
# 连接数据库
conn = taosrest.connect(**config)
print(f"成功连接到 TDengine 数据库: {config['database']}")
return conn
except Exception as e:
print(f"连接失败: {e}")
return None
# 查询执行
def execute_query(conn, query):
"""
执行查询语句并返回结果
"""
try:
# 执行查询
result = conn.query(query)
print("查询成功,返回结果:")
df = pd.DataFrame(result.data, columns=[f['name'] for f in result.fields])
print(df)
return df
except Exception as e:
print(f"查询失败: {e}")
return None
# 主程序
def main():
# 获取数据库配置
config = get_tdengine_config()
# 连接到 TDengine 数据库
conn = connect_to_tdengine(config)
if conn is None:
return
# 定义查询语句
query = "SELECT * FROM jydetected_data LIMIT 10" # 查询前10条记录
# 执行查询
execute_query(conn, query)
# 关闭连接
conn.close()
print("连接已关闭")
if __name__ == "__main__":
main()

浙公网安备 33010602011771号