从这一节开始,我们来实现 IotHub 的上行数据处理功能:包括设备端和服务端的实现。在设备端我们会实现数据上传的接口,在服务端我们会实现元数据提取、消息去重、存储等功能。
DeviceSDK 端实现
DeviceSDK 端的实现比较简单,实现 uploadData 接口,按照上一节约定的主题名发布消息就可以了。在发布数据时,DeviceSDK 负责为消息生成唯一的 MessageID,生成的算法有很多选择,最简单的就是用 UUID,在本课程中,我们使用 BSON 的 ObjectID 作为 MessageID。
BSON,Binary JSON 的简写,是一种类 JSON 的二进制存储格式,我们在本课程的其他地方还会使用 BSON。
//IotHub_Device/sdk/iot_device.js
const objectId = require('bson').ObjectID;
class IotDevice extends EventEmitter{
.....
uploadData(data, t