尝试在 IoTDB 数据库中使用 python paho MQTT 插入数据时出现 NPE
NPE when trying to insert data with python paho MQTT in IoTDB database
尝试使用 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(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)
重现该行为的步骤:
定义一个 docker 卷 iotdb-conf
,在修改 iotdb-engine.propertiesfile
中设置 enable_mqtt_service=true
。
使用 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
部署 IotDB docker 容器
尝试提交之前的 python 代码
其他上下文
publish.single
没有报错,显然我在 IotDB CLI 中请求时什么都没有 SELECT temperature FROM root.synox.alphitan.MD10109
,我只能在 IotDB 日志中看到错误。
我看到一个拼写错误。 “测量”->“测量”。
尝试使用 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(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)
重现该行为的步骤:
定义一个 docker 卷 iotdb-conf
,在修改 iotdb-engine.propertiesfile
中设置 enable_mqtt_service=true
。
使用 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
部署 IotDB docker 容器
尝试提交之前的 python 代码
其他上下文
publish.single
没有报错,显然我在 IotDB CLI 中请求时什么都没有 SELECT temperature FROM root.synox.alphitan.MD10109
,我只能在 IotDB 日志中看到错误。
我看到一个拼写错误。 “测量”->“测量”。