一、该问题的重现步骤是什么?
1. 创建物模型时,使用模块功能
二、你期待的结果是什么?实际看到的又是什么?
某设备存在很多属性,但是上报属性时,只上报温度字段;
在将属性分模块存储后,上报后TDengine报错


三、你正在使用的是什么产品,什么版本?在什么操作系统上?
bladex-iot ubuntu
四、请提供详细的错误堆栈信息,这很重要。
2025-10-29 08:31:46.577 ERROR 1 --- [pool-3-thread-1] o.s.iot.core.task.BaseBatchTask : 批量消费失败,数据可能会丢失
org.springframework.jdbc.UncategorizedSQLException: PreparedStatementCallback; uncategorized SQLException for SQL [INSERT INTO `device_property_ztnmviabtorp_swun7nxa0omuwldf` USING `device_property_ztnmviabtorp` TAGS ('ztNmVIaBtOrp', 'swUN7NXa0oMUWldF') (`time`, `temperature`) VALUES (?, ?);]; SQL state []; error code [9730]; TDengine ERROR (0x2602): sql: INSERT INTO `device_property_ztnmviabtorp_swun7nxa0omuwldf` USING `device_property_ztnmviabtorp` TAGS ('ztNmVIaBtOrp', 'swUN7NXa0oMUWldF') (`time`, `temperature`) VALUES (1761697905771, 30.5);, desc: Invalid column name: temperature
at org.springframework.jdbc.core.JdbcTemplate.translateException(JdbcTemplate.java:1549)
at org.springframework.jdbc.core.JdbcTemplate.execute(JdbcTemplate.java:677)
at org.springframework.jdbc.core.JdbcTemplate.update(JdbcTemplate.java:970)
at org.springframework.jdbc.core.JdbcTemplate.update(JdbcTemplate.java:1014)
at org.springframework.jdbc.core.JdbcTemplate.update(JdbcTemplate.java:1024)
at org.springblade.iot.tsdb.tdengine.dao.TDEngineTemplate.saveBatch(TDEngineTemplate.java:108)
at org.springblade.iot.core.task.BaseBatchTask.consumerQueueData(BaseBatchTask.java:72)
at org.springblade.iot.core.task.BaseBatchTask$1.run(BaseBatchTask.java:53)
at java.base/java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:539)
at java.base/java.util.concurrent.FutureTask.run(FutureTask.java:264)
at java.base/java.util.concurrent.ScheduledThreadPoolExecutor$ScheduledFutureTask.run(ScheduledThreadPoolExecutor.java:304)
at java.base/java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1136)
at java.base/java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:635)
at java.base/java.lang.Thread.run(Thread.java:840)
Caused by: java.sql.SQLException: TDengine ERROR (0x2602): sql: INSERT INTO `device_property_ztnmviabtorp_swun7nxa0omuwldf` USING `device_property_ztnmviabtorp` TAGS ('ztNmVIaBtOrp', 'swUN7NXa0oMUWldF') (`time`, `temperature`) VALUES (1761697905771, 30.5);, desc: Invalid column name: temperature
at com.taosdata.jdbc.TSDBError.createSQLException(TSDBError.java:95)
at com.taosdata.jdbc.rs.RestfulStatement.execute(RestfulStatement.java:98)
at com.taosdata.jdbc.rs.RestfulStatement.execute(RestfulStatement.java:78)
at com.taosdata.jdbc.rs.RestfulStatement.executeUpdate(RestfulStatement.java:56)
at com.taosdata.jdbc.rs.RestfulPreparedStatement.executeUpdate(RestfulPreparedStatement.java:59)
at com.alibaba.druid.pool.DruidPooledPreparedStatement.executeUpdate(DruidPooledPreparedStatement.java:241)
at org.springframework.jdbc.core.JdbcTemplate.lambda$update$2(JdbcTemplate.java:975)
at org.springframework.jdbc.core.JdbcTemplate.execute(JdbcTemplate.java:658)
... 12 common frames omitted
五、若有更多详细信息,请在下面提供。
若想实现当设备存在多个属性字段时,只上报某一个字段的数据应该如何实现
扫一扫访问 Blade技术社区 移动端