Thingboard:从内部数据库获取资产ID



我正在将Thingsboard与Postgresql一起使用
我想做的是通过直接访问内部数据库来获取资产ID。

thingsboard的模式有一个带有id字段的资产表。但它的id与UI的格式不同。

select id from asset;
1e8027e92ad5cd0b8faaf5b54912004

id的类型是varchar(31(,它看起来不像UUID。

但我想从UI中获得92ad5cd0-027e-11e8-b8fa-af5b54912004

我该如何转换为它?

在ThingsBoard中,对于SQL数据库,UUID会在数据库内部进行修剪,并删除-字符。

看看这个util:org.thingsbard.server.common.data.UIDC转换器

fromTimeUUID((->将UUID转换为字符串(这个值可以在Postgresql中看到(

fromString((->将字符串转换为真正的UUID

public static UUID fromString(String src) {
return UUID.fromString(src.substring(7, 15) + "-" + 
src.substring(3, 7) + "-1" + 
src.substring(0, 3) + "-" + 
src.substring(15, 19) + "-" + 
src.substring(19));
}

最新更新