首页 > 解决方案 > 尝试在 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.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 日志中看到错误。

标签: databaseapache-iotdbiotdb

解决方案


我看到一个拼写错误。“测量”->“测量”。


推荐阅读