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

时间:2018-12-11 11:19:37

标签: thingsboard

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

thingsboards的架构具有带有ID字段的资产表。但是它的ID与UI的格式不同。

select id from asset;
1e8027e92ad5cd0b8faaf5b54912004

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

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

我该如何转换呢?

1 个答案:

答案 0 :(得分:1)

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

看看这个工具: org.thingsboard.server.common.data.UUIDConverter

fromTimeUUID ()->将UUID转换为String(您在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));
    }