UNPKG

node-red-node-tdengine

Version:

The official plugin developed by TDengine for Node-RED.

149 lines (133 loc) 5.54 kB
<script type="text/html" data-help-name="TDengineServer"> <p><b>数据库连接设置</b></p> <ul> <li>连接 TDengine 数据库使用 WEBSOCKET 协议。</li> <p>本地部署连接串格式:<code>ws://user:password@host:port</code></p> <ul> <li>host:TDengine 服务器名或 IP。</li> <li>port:端口号,默认 <code>6041</code></li> <li>user:用户名,默认 <code>root</code></li> <li>password:密码,默认 <code>taosdata</code></li> </ul> <p>云服务连接串格式:<code>wss://gw.cloud.taosdata.com?token=0df909...</code><p> <ul> <li>host:gw.cloud.taosdata.com</li> <li>token:请登录 <a href="https://cloud.taosdata.com/">云服务网站</a> 获取。</li> </ul> <li>连接密码不明文暴露可选择“主机/端口”类型。</li> <li>连接各属性详细参考: <a href="https://docs.taosdata.com/reference/connector/node/#url-%E8%A7%84%E8%8C%83" target="_blank"> URL 规范 </a> </li> </ul> </script> <script type="text/html" data-help-name="tdengine-operator"> <p><b>TDengine 数据库操作节点</b></p> <p>此节点提供 SQL 执行接口,支持 TDengine 数据写入/查询操作。</p> <h3>功能特性</h3> <ul> <li>支持 TDengine 本地部署或云服务数据源。</li> <li>支持 TDengine 所有 SQL 操作(SELECT/INSERT/CREATE/ALTER/SHOW 等)。</li> <li>统一接口处理读写操作(<code>msg.topic</code> 传递 SQL 语句)。</li> </ul> <h3>节点状态</h3> <ul> <li>灰色:连接中</li> <li>绿色:工作正常</li> <li>红色:工作异常</li> </ul> <h3>输入格式</h3> <p>topic 传递 SQL 语句:</p> <code class="javascript"> msg = { topic: "SQL 语句" } </code> <p>SQL 特殊字符与转义符需遵循 JSON 字符串规范。</p> <h3>输出格式</h3> 自动识别查询类(SELECT/SHOW/DESC/EXPLAIN)与写入类操作,输出不同格式内容。 <h4>写入类</h4> <code>payload</code> 存放写入结果,topic 透传写入 SQL,输出格式: <pre><code class="javascript">msg = { topic: "insert into ...", isQuery: false, // 查询类为 true, 否则 false payload: { affectRows: 2, // 影响行数 totalTime: 3, // 写入总耗时(毫秒) timing: 1683311 // 写入在服务器上执行时间(纳秒) } } </code></pre> <h4>查询类</h4> <p> <code>payload</code> 存放查询结果,topic 透传查询 SQL,输出格式:</p> <pre><code class="javascript">{ topic: "select * from ...", isQuery: true, // 查询类为 true, 否则 false payload: [ { ts: 1749609744000, current: 20, voltage: 200, phase: 5 }, { ts: 1749609200001, current: 31, voltage: 210, phase: 4 }, ... ]} </code></pre> <p>查询结果为行数据对象,其属性为列名,属性与列数据类型映射关系参考:</p> <p> <a href="https://docs.taosdata.com/reference/connector/node/#%E6%95%B0%E6%8D%AE%E7%B1%BB%E5%9E%8B%E6%98%A0%E5%B0%84" target="_blank"> TDengine NodeJS 连接器类型映射表 </a> </p> <h3>错误处理</h3> <ul> <li>操作失败时自动抛出异常(不向下游传递 msg)。</li> <li>使用 catch 节点捕获处理错误。</li> <li>错误日志包含完整错误对象及 TDengine 原生错误码。</li> <li>发生错误时节点状态变更为 <code>工作异常</code></li> </ul> <h3>日志配置</h3> 日志级别,遵循 node-red 日志级别开启不同 Level 日志。 <pre><code class="json">// settings.js logging: { level: "info" }</code></pre> <ul> <li>日志格式: [时间] [节点名] [日志内容]。</li> <li>日志内容:首字母大写日志表示一个阶段性的开始。</li> <li>支持级别: error, warn, info, debug</li> </ul> <h3>使用示例</h3> <div class="node-help-examples"> <p><b>写入数据:</b></p> 输入 <code>msg:</code> <pre><code class="javascript">{ topic:"insert into test.d0 value (NOW, 10, 219, 0.32)" }</code></pre> 输出 <code>msg:</code> <pre><code class="javascript">{ topic:"insert into test.d0 value (NOW, 10, 219, 0.32)", isQuery: false, payload: { affectRows: 1, totalTime: 8, timing: 3682352 } } </code></pre> <p><b>查询数据:</b></p> 输入 <code>msg:</code> <pre><code class="javascript">{ topic:"select * from test.d0" }</code></pre> 输出 <code>msg:</code> <pre><code class="javascript">{ topic:"select * from test.d0", isQuery: true, payload: [ { ts: 1749609744000, current: 10, voltage: 219, phase: 0.32 }, { ts: 1749609200001, current: 31, voltage: 210, phase: 4 }, ... ]}</code></pre> </div> <h3>关于 TDengine</h3> <a href="https://www.taosdata.com">TDengine</a> 是一款高性能、集群开源、云原生的时序数据库(Time Series Database,TSDB),专为物联网IoT平台、工业互联网、电力、IT 运维等场景设计并优化,具有极强的弹性伸缩能力。同时它还带有内建的缓存、流式计算、数据订阅等系统功能,能大幅减少系统设计的复杂度,降低研发和运营成本,是一个高性能、分布式的物联网IoT、工业大数据平台。 <p>&nbsp;</p> </script>