一、该问题的重现步骤是什么?
问题连接:https://sns.bladex.cn/q-12550.html,如果需要在relay-amqp获取完整的iot_device信息(不只是产品Key以及deviceName,而是通过产品key或者deviceName继续获取iot_device的完整设备信息)。什么方式获取比较合适?比如blade-server中提供endpoint接口给relay-amqp,还是其他什么方式(如果在relay-amqp中直接读iot_device的数据库这样应该不合适吧?)?
二、你期待的结果是什么?实际看到的又是什么?
期待的结果:relay-amqp中如何获取到 完整的 device信息(iot_device中的device信息,不只是产品Key以及deviceName)。
实际看到的:relay-amqp中暂时未有获取device信息的写法。
三、你正在使用的是什么产品,什么版本?在什么操作系统上?
正在使用的产品:BladeX物联网平台
版本:1.1.0
操作系统:Windows11
四、请提供详细的错误堆栈信息,这很重要。
五、若有更多详细信息,请在下面提供。
有了productKey和deviceName,你可以调用blade-server里的openapi获取更多信息:https://openapi.javablade.com/doc.html#/OpenApi%E6%A8%A1%E5%9D%97/%E8%AE%BE%E5%A4%87%E6%A8%A1%E5%9D%97/queryDeviceDetail
如果不满足你的要求,代码都有,你想怎么二开就怎么二开。你想用rest api、rpc、feign、mqtt等等各种形式获取都可以。
还有,这个relay模块作为数据转发,必定是有大量数据的,有时会一秒会有几千几万条数据过来,每一条数据过来都要进行远程调用api或者查数据库获取设备详细信息的话,你的服务器性能压力会非常大。
正确情况你有productKey和deviceName就够了,获取后直接入库入日志等等。事后要进行综合查询了,再通过productKey和deivceName来查device的信息。这才是正确的做法。
扫一扫访问 Blade技术社区 移动端