当前位置: 首页 > news >正文

TDengine Python 连接器入门指南

TDengine Python 连接器入门指南

本文面向 TDengine 初学者,目标是让你在 5~10 分钟内完成:安装连接器 → 建立连接 → 建库建表 → 写入 → 查询,并掌握连接器的基本使用方式与常见问题排查。

说明:TDengine 官方 Python 连接器为taospy。其中:

  • 原生连接对应taospy包的taos模块。
  • WebSocket 连接对应可选包taos-ws-py,使用taosws模块(推荐)。

1. 选择连接方式

taospy提供两种连接方式,建议优先使用WebSocket 连接

  • WebSocket 连接(推荐):通过taosAdapter的 WebSocket 接口访问 TDengine,依赖更轻且在并发/IO 密集场景更友好。
  • 原生连接(Native):Python 进程需加载 TDengine 客户端驱动(libtaos.so/taos.dll),本地依赖更多。

连接方式的详细介绍见:

  • 连接方式

2. 环境准备

在运行示例前,请确认:

  • TDengine TSDB 服务端已启动,并且你的程序能访问到它。
  • 若使用WebSocket 连接:确保taosAdapter的 WebSocket 服务可用(示例默认localhost:6041)。
  • 若使用原生连接:确保已安装 TDengine TSDB 客户端驱动,且 Python 能正确加载。

3. 安装连接器

# 原生连接pip3installtaospy# WebSocket 连接(推荐,可选装)pip3installtaos-ws-py

4. 第一个程序:建库建表、写入、查询

下面提供两份“最小可运行”示例,你可以任选其一。

4.1 WebSocket(推荐)

保存为quickstart_ws.py并运行。

importtaoswsdefmain()->None:# WebSocket 连接依赖 taosAdapter 的 WebSocket 服务。conn=Nonehost="localhost"port=6041try:conn=taosws.connect(user="root",password="taosdata",host=host,port=port,)conn.execute("CREATE DATABASE IF NOT EXISTS demo")conn.execute("USE demo")conn.execute("CREATE STABLE IF NOT EXISTS meters (ts TIMESTAMP, current FLOAT, voltage INT) TAGS (location BINARY(24))")conn.execute("CREATE TABLE IF NOT EXISTS d0 USING meters TAGS('beijing')")conn.execute("INSERT INTO d0 VALUES (NOW, 10.2, 220) (NOW + 1s, 10.3, 221)")result=conn.query("SELECT * FROM meters LIMIT 5")forrowinresult:print(row)finally:ifconnisnotNone:conn.close()if__name__=="__main__":main()

运行:

python3 quickstart_ws.py

4.2 原生连接(Native)

保存为quickstart_native.py并运行。

importtaosdefmain()->None:# 原生连接依赖 TDengine 客户端驱动(libtaos.so/taos.dll)。conn=Nonehost="localhost"port=6030try:conn=taos.connect(user="root",password="taosdata",host=host,port=port,)conn.execute("CREATE DATABASE IF NOT EXISTS demo")conn.execute("USE demo")conn.execute("CREATE STABLE IF NOT EXISTS meters (ts TIMESTAMP, current FLOAT, voltage INT) TAGS (location BINARY(24))")conn.execute("CREATE TABLE IF NOT EXISTS d0 USING meters TAGS('beijing')")conn.execute("INSERT INTO d0 VALUES (NOW, 10.2, 220) (NOW + 1s, 10.3, 221)")result=conn.query("SELECT * FROM meters LIMIT 5")forrowinresult.fetch_all():print(row)finally:ifconnisnotNone:conn.close()if__name__=="__main__":main()

运行:

python3 quickstart_native.py

5. 连接器基本用法速记

  • 建立连接:
    • WebSocket:taosws.connect(user=..., password=..., host=..., port=...)
    • 原生:taos.connect(user=..., password=..., host=..., port=...)
  • 执行 SQL:conn.execute(sql)
  • 查询:conn.query(sql)
    • WebSocket 返回结果可直接迭代for row in result:
    • 原生示例里通过result.fetch_all()获取全部记录

6. 异常与排查(最常见)

TDengine Python 连接器的数据库操作如果出现异常,会直接抛出给应用层处理。常见排查路径:

  • ConnectionError(连接失败):检查服务端是否启动、账号密码是否正确、host/port 是否可达;WebSocket 还需要确认taosAdapter是否可用。
  • InterfaceError(原生接口/驱动不兼容):通常是taosc或客户端驱动版本过低或不匹配,升级 TDengine 客户端组件。
  • ProgrammingError/QueryError(SQL/查询错误):检查 SQL 是否正确、库表是否存在、数据类型是否匹配;结合错误码定位。

参考:

  • 错误码

7. 下一步(进阶能力入口)

当你能跑通上面的“建库建表、写入、查询”后,建议按需求继续:

  • 高效批量写入:了解参数绑定(stmt / stmt2)。
  • 无模式写入:了解schemaless写入。
  • 消息订阅:了解 TMQ(创建 Consumer、subscribe、poll、commit)。
  • 连接参数与 URL 规范:了解 WebSocket DSN(ws://...)与超时/重试/时区等参数。

关于TDengine

TDengine 专为物联网IoT平台、工业大数据平台设计。其中,TDengine TSDB 是一款高性能、分布式的时序数据库(Time Series Database),同时它还带有内建的缓存、流式计算、数据订阅等系统功能;TDengine IDMP 是一款AI原生工业数据管理平台,它通过树状层次结构建立数据目录,对数据进行标准化、情景化,并通过 AI 提供实时分析、可视化、事件管理与报警等功能。

http://www.jsqmd.com/news/226256/

相关文章:

  • 基于Simulink的微电网中储能主控单元协调运行仿真
  • Qt OpenGL 生成Mipmap技术详解
  • 【图像加密】DNA结合arnold置乱变换实现彩色图像加密解密【含Matlab源码 14897期】
  • 【图像加密】混沌系统和DNA编码图像加密解密【含Matlab源码 14898期】含论文
  • 情感分析在广告效果评估中的创新应用
  • 导师不会告诉你:8款免费AI论文工具,轻松搞定真实参考文献!
  • 2026零基础小白能不能转行AI大模型?不会代码不懂编程?这一篇文章让你搞明白!
  • 痛定思痛:我花了一个月重构 AI 助手,只为了解决这三个问题
  • 异地就医备案-须知内容
  • 基于SpringBoot的拼装模型销售管理系统的设计与实现(源码+lw+部署文档+讲解等)
  • SAP UI5 概念辨析:namespace,library 和 module 的理解
  • 基于SpringBoot的陪诊服务平台系统(源码+lw+部署文档+讲解等)
  • 基于SpringBoot的农村客运服务系统(源码+lw+部署文档+讲解等)
  • 关系系统架构升级指南:从“好友模式”到“心动模式”的平滑迁移
  • 关系系统架构升级指南:从“好友模式”到“心动模式”的平滑迁移
  • 基于SpringBoot的农村留守儿童援助信息系统(源码+lw+部署文档+讲解等)
  • 基于SpringBoot的社区物资交易互助平台毕业设计
  • C语言 条件编译宏
  • 基于SpringBoot的考编论坛网站毕业设计源码
  • 内网渗透中的“眼睛”与“耳朵”:工作组信息收集技术全解析
  • 至理名言【人生智慧】
  • GDAL 实现矢量裁剪
  • 基于SpringBoot的足球社区管理系统毕业设计
  • 基于SpringCloud的在线交易电商平台毕业设计
  • 基于html5的网上团购系统设计与实现毕业论文+PPT(附源代码+演示视频)
  • 基于SpringBoot的养老院管理系统毕设
  • 基于SpringBoot的新能源充电系统毕业设计
  • 基于SpringBoot的校园失物招领系统毕设
  • A.每日一题——1161. 最大层内元素和
  • 数据结构————栈