UNPKG

node-red-node-tdengine

Version:

The official plugin developed by TDengine for Node-RED.

120 lines (107 loc) 4.96 kB
<script type="text/html" data-help-name="tdengine-consumer"> <p><b>TDengine 订阅消费节点</b></p> <p>此节点提供了自动连接到指定 TDengine 服务器并订阅给定主题功能。</p> <h3>功能特性</h3> <ul> <li>支持 TDengine 本地部署或云服务数据源。</li> <li>灵活配置订阅属性。</li> <li>支持同时订阅多个 TOPIC。</li> <li>消费进度自动提交保存。</li> <li>服务器断开后自动重连。</li> </ul> <h3>节点状态</h3> <ul> <li>灰色:连接中</li> <li>绿色:工作正常</li> <li>红色:工作异常</li> </ul> <h3>配置说明:</h3> <ul> <li><b>名称:</b> 流程编辑器中该节点的可选名称。</li> <li><b>订阅服务器:</b> 订阅服务器的 WebSocket 地址。 <p>本地部署连接串格式:<code>ws://host:port</code></p> <ul> <li>host:TDengine 服务器名或 IP。</li> <li>port:端口号,默认 <code>6041</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><b>用户名:</b> 连接订阅服务器用户名(注:云服务授权含在 TOKEN 中,无需填写)。</li> <li><b>密码:</b> 连接订阅服务器密码(注:云服务授权含在 TOKEN 中,无需填写)。</li> <li><b>订阅主题组:</b> 订阅 topic 名称,多个 topic 使用逗号分隔。</li> <li><b>消费组 ID:</b> 消费者组 ID,默认值为 <code>group1</code></li> <li><b>客户端 ID:</b> 此消费者的客户端 ID,默认值为唯一标识符。</li> <li><b>消费开始位置:</b> <ul> <li><code>earliest</code>:从头开始订阅。</li> <li><code>latest</code>:仅从最新数据开始订阅。</li> </ul> </li> <li><b>Poll 超时时间(毫秒):</b> 每次提交等待消费数据达到的等待时间,默认 <code>5000</code></li> <li><b>自动提交:</b> 是否启用消费位点自动提交,默认 <code>true</code></li> <li><b>提交间隔(毫秒):</b> 自动提交间隔,默认 <code>5000</code></li> </ul> <h3>输入格式</h3> <p>Input 节点,无输入。</p> <h3>输出格式</h3> <p> payload 输出对象数组,对象属性名与查询返回列名一致,属性类型与数据库类型映射关系参考:</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> <pre><code class="json">{ topic: 订阅主题, database: 数据库, vgroup_id: 数据所在分区, precision: 数据库精度 payload: [{ 订阅列名1: 列值1, 订阅列名2: 列值2, ... }, ... ], }</code></pre> <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>订阅 topic1 输出对象:</b></p> <pre><code class="json">{ topic: 'topic1', payload: [{ ts: 1749281716809, current: 1, voltage: 2, phase: 4 } ], database: 'test', vgroup_id: 4, precision: 0 }</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>