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.mzph.cn/news/1140982.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

基于Simulink的微电网中储能主控单元协调运行仿真

目录 手把手教你学Simulink 一、引言:为什么微电网需要“储能主控单元”? 二、系统整体架构 控制角色分配: 三、理论基础:下垂控制(Droop Control) 1. 有功-频率下垂(P-f) 2. 无功-电压下垂(Q-V) 四、Simulink 建模全流程 步骤1:主电路搭建(Simscape Elec…

Qt OpenGL 生成Mipmap技术详解

Qt OpenGL 生成Mipmap技术详解1. Mipmap技术概述1.1 Mipmap金字塔结构1.2 Mipmap的优势2. Qt中生成Mipmap的实现2.1 基本方法2.2 参数详解3. 高级应用技巧3.1 自定义Mipmap生成3.2 性能优化技巧4. 实际应用案例4.1 3D地形渲染4.2 2D游戏中的精灵渲染5. 常见问题解答5.1 Mipmap会…

【图像加密】DNA结合arnold置乱变换实现彩色图像加密解密【含Matlab源码 14897期】

💥💥💥💥💥💥💥💥💞💞💞💞💞💞💞💞💞Matlab武动乾坤博客之家💞…

【图像加密】混沌系统和DNA编码图像加密解密【含Matlab源码 14898期】含论文

💥💥💥💥💥💥💥💥💞💞💞💞💞💞💞💞💞Matlab武动乾坤博客之家💞…

情感分析在广告效果评估中的创新应用

情感分析在广告效果评估中的创新应用关键词:情感分析、广告效果评估、创新应用、自然语言处理、数据挖掘摘要:本文聚焦于情感分析在广告效果评估中的创新应用。首先介绍了情感分析和广告效果评估的基本概念,阐述了将二者结合的背景和意义。接…

导师不会告诉你:8款免费AI论文工具,轻松搞定真实参考文献!

警告: 这篇内容可能会颠覆你对“写论文”这件事的认知。你的同学和学长姐,可能正在用这些工具悄悄“开挂”。如果不想在Deadline前通宵达旦、反复被导师打回重改,请务必认真读完。 你是不是也有过这样的经历?面对空白的Word文档&a…

2026零基础小白能不能转行AI大模型?不会代码不懂编程?这一篇文章让你搞明白!

前几天一个硕士期间搞材料的朋友,考上了某大学的人工智能博士,有点焦虑,我们聊了聊。 他焦虑的重点主要集中在硕士期间一直在做材料相关的课题,编程基础薄弱,参与的人工智能课题少,担心读了博士之后&#…

痛定思痛:我花了一个月重构 AI 助手,只为了解决这三个问题

写在前面 说实话,第一次用官方 Claude Code 的时候,我是真兴奋。终端里跑着 AI,能帮我改代码、跑命令,感觉像有了个 24 小时在线的高级工程师搭档。 但用了两周后,我开始纠结。 为什么每次切换模型都要重启会话&…

异地就医备案-须知内容

1、适用人群 (1)异地长期居住人员,包括异地安置退休人员、异地长期居住人员、常驻异地工作人员等长期在异地居住、生活、工作的人员。 (2)临时外出就医人员,包括异地转诊就医人员,因工作、旅游等原因异地急诊抢救人员以及其他临时外出就医人员。 2、备案材料 (1)异…

基于SpringBoot的拼装模型销售管理系统的设计与实现(源码+lw+部署文档+讲解等)

课题介绍 随着拼装模型爱好者群体不断扩大,模型销售市场规模持续增长,但当前拼装模型销售行业普遍存在商品品类繁杂难管理、订单处理效率低下、库存管控不精准、客户需求响应滞后等问题,制约了商家运营效率与用户购物体验的提升。本课题以搭建…

SAP UI5 概念辨析:namespace,library 和 module 的理解

本文笔者从接到教程学习者的一个实际问题开始。 这位朋友想使用 URLHelper 的 redirect 功能,在 SAP UI5 应用里进行页面跳转。 他查询 SAP UI5 帮助文档,看到了这个 redirect 方法的输入参数说明: 然后看到这个 URLHelper 抬头区域的三个字段: 类型为 namespace libra…

基于SpringBoot的陪诊服务平台系统(源码+lw+部署文档+讲解等)

课题介绍随着人口老龄化加剧、医疗资源分布不均衡,独居老人、行动不便者、异地就医人群等普遍面临就医流程繁琐、无人陪同协助的困境,陪诊服务需求持续增长,但当前陪诊市场存在服务标准不统一、供需对接低效、服务过程缺乏监管、资金结算不规…

基于SpringBoot的农村客运服务系统(源码+lw+部署文档+讲解等)

课题介绍随着乡村振兴战略深入推进,农村地区出行需求持续增长,但当前农村客运普遍存在线路规划不合理、班次信息不透明、票务管理滞后、运营监管低效等问题,制约了客运服务质量提升,难以满足群众便捷出行需求。本课题以优化农村客…

关系系统架构升级指南:从“好友模式”到“心动模式”的平滑迁移

资深后端工程师李峰在连续三周为“相亲对象”调试代码、优化简历、提供职场解决方案后,收到了对方诚挚的感谢:“你真是我见过最靠谱的技术伙伴!”——这个评价比线上系统的致命Bug更让他无从排查。一、系统诊断:为何你的情感进程总…

基于SpringBoot的农村留守儿童援助信息系统(源码+lw+部署文档+讲解等)

课题介绍随着乡村振兴战略推进,农村留守儿童关爱援助工作愈发重要,但当前援助工作普遍存在留守儿童信息分散、援助资源对接不畅、帮扶过程缺乏动态跟踪、监管反馈机制不完善等问题,制约了援助服务的精准性与实效性。本课题以搭建高效协同的援…

基于SpringBoot的社区物资交易互助平台毕业设计

博主介绍:✌ 专注于Java,python,✌关注✌私信我✌具体的问题,我会尽力帮助你。一、研究目的本研究旨在构建一个基于SpringBoot框架的社区物资交易互助平台,以实现社区内物资的有效流通和共享,提高社区成员的生活质量。具体研究目的…

C语言 条件编译宏

一、具体代码与分析如下#include <stdio.h>/* 1.C语言的条件编译宏是预处理阶段的指令&#xff0c;用于根据指定条件决定代码段是否参与编译; 2.#ifdef MACRO/#endif&#xff1a;判断 MACRO 是否被#define定义; 3.#ifndef MACRO/#endif&#xff1a;判断 MACRO 是否未被定…

基于SpringBoot的考编论坛网站毕业设计源码

博主介绍&#xff1a;✌ 专注于Java,python,✌关注✌私信我✌具体的问题&#xff0c;我会尽力帮助你。一、研究目的本研究旨在构建一个基于SpringBoot框架的考编论坛网站&#xff0c;以实现以下研究目的&#xff1a; 首先&#xff0c;通过设计并实现一个功能完善的考编论坛网站…

内网渗透中的“眼睛”与“耳朵”:工作组信息收集技术全解析

内网渗透中的“眼睛”与“耳朵”&#xff1a;工作组信息收集技术全解析在授权渗透测试中&#xff0c;高效的信息收集是横向移动的基石。掌握这些命令&#xff0c;你就能像管理员一样“看见”整个系统。前言&#xff1a;为何信息收集如此重要&#xff1f; 在内网渗透测试中&…

GDAL 实现矢量裁剪

前言 ❝ 矢量数据作为数据处理的半壁江山&#xff0c;在日常工作中涉及到多种操作&#xff0c;矢量数据裁剪尤其具有代表性和重要性&#xff0c;是常用操作&#xff0c;核心原理为从指定数据中提取出目标范围。在之前的文章中讲了如何使用GDAL或者ogr2ogr工具将txt以及csv文本数…