这一节我们来实现 IotHub 上行数据处理剩下的一下功能:通知业务系统以及 Server API 消息查询接口。然后完善一些细节。
通知业务系统
当上行数据到达 IotHub 时,IotHub 可以通过 RabbitMQ 来通知并发送新的上行数据给业务系统。这里我们做一个约定,当有新的上行数据达到时,IotHub 会向 RabbitMQ 名为"iothub.events.upload_data"的 Direct Exchage 的发送一条消息,RoutingKey 为设备的 ProductName。本课程使用 ampqlib 作为 RabbitMQ Client 端实现。
关于 RabbitMQ Routing 相关的概念可以查看 RabbitMQ Tutorials,本课程就不赘述了。
首先初始化 RabbitMQ Client,并确保对应的 Exchange 存在:
//IotHub_Server/services/notify_service.js
var amqp = require('amqplib/callback_api');
var upl