database - 尝试在 IoTDB 数据库中使用 python paho MQTT 插入数据时的 NPE
问题描述
尝试使用 paho MQTT 插入数据时:
import paho.mqtt.publish as publish
payload=f"""{{\n"device":"root.synox.alphitan.MD10109",\n"timestamp":100,\n"measurments":["temperature"],\n"values":[20.0]}}"""
publish.single(topic='root.synox.alphitan.MD10109', payload=payload, hostname=MQTT_IOTDB, port=MQTT_IOTDB_PORT, auth={'username':'root', 'password':'root'})
I have an error printing :
ERROR o.a.i.d.c.IoTDBDefaultThreadExceptionHandler:31 - Exception in thread pool-5-thread-5-89
java.lang.NullPointerException: null
at org.apache.iotdb.db.mqtt.PublishHandler.onPublish(PublishHandler.java:98)
at io.moquette.interception.BrokerInterceptor.lambda$notifyTopicPublished$3(BrokerInterceptor.java:133)
at java.base/java.util.concurrent.ThreadPoolExecutor.runWorker(Unknown Source)
at java.base/java.util.concurrent.ThreadPoolExecutor$Worker.run(Unknown Source)
at java.base/java.lang.Thread.run(Unknown Source)
重现行为的步骤:
iotdb-conf
在 modify iotdb-engine.propertiesfile
with enable_mqtt_service=true
set 中定义一个 docker 卷。docker run -d -p 6667:6667 -p 31999:31999 -p 8181:8181 -p 1884:1883 -v iotdb-conf:/iotdb/conf -v iotdb-data:/iotdb/data -v iotdb-logs:/iotdb/logs --name iotdb apache/iotdb:latest
使用Try to submit previous python code部署 IotDB docker 容器
附加上下文没有引发错误publish.single
,显然我在 IotDB CLI 中请求时什么都没有SELECT temperature FROM root.synox.alphitan.MD10109
,我只能在 IotDB 日志中看到错误。
解决方案
我看到一个拼写错误。“测量”->“测量”。
推荐阅读
- powershell - 无法使用 Out-File 或 Add-Content 记录函数输出
- asp.net - 如果使用了 Response.redirect,ScriptManager.RegisterStartupScript 不起作用
- php - 在 docker 下安装 composer-plugin-api 时出错
- r - 从列名列表中在现有 R 数据框中创建许多新的空列
- android - dprintf(INFO...) 或 dprintf(CRITICAL...) 在 Android LK 中的位置
- javascript - 从一个node.js服务器向另一台服务器发送请求时无法下载文件
- python - 有没有办法通过 QStateMachine QState 转换传递信号参数?
- node.js - 如何根据子数组中的“中间”值过滤大数组?(Node.js)
- reactjs - 通过子组件递增计数器并在其他子组件中重用计数器
- python - 在解决回归问题时在 python 中使用虚拟变量标准化数据集