尝试使用 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.propertiesfilewith enable_mqtt_service=trueset 中定义一个 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 日志中看到错误。