2015-10-09 79 views
5

我刚开始学习Azure IoT,它非常有趣。我很困惑IoT Hub是否在某处存储数据?

即假设我将房间温度传递给物联网集线器并希望将其存储在数据库中以供进一步使用。怎么可能?

我很清楚设备到云以及云到设备如何与物联网集线器一起使用。Microsoft Azure IoT Hub是否存储数据?

回答

7

IoT Hub通过事件集线器端点将设备暴露给云消息。活动中心的保留时间以天为单位。这是一个读取客户端可以重新读取更多时间的数据流,因为光标位于客户端(而不是像队列和主题那样位于服务器端)。使用物联网Hub时,相关的保留时间默认为1天,但您可以更改。

如果要存储来自设备的收到消息,您需要有一个客户端读取事件中心暴露的端点(例如,使用事件处理器主机),该端点具有处理消息并将它们存储到数据库中的业务逻辑例如。

当然,您可以使用另一个解耦层,以便客户端从事件中心读取并将消息存储到队列中。然后你有另一个客户按照自己的速度从队列中读取并存储到数据库中。通过这种方式,您可以快速阅读活动中心。

4

这几乎是所有物联网场景的用例。

第1步:通过Event Hub进行大规模数据摄取。

第2步:创建并使用流处理引擎(流分析或HDInsight/Storm)。您可以运行条件(类似于查询的SQL)来过滤并将适当的数据存储在冷库或热库中以供进一步分析。

第3步:冷路径分析存储可以是Azure BLOB。流分析可直接配置为将数据写入其中。 Cold可以包含所有其他不需要查询且价格便宜的数据。

第4步:处理热路径分析。这是更经常查询的数据。或需要进行实时分析的数据。就像在你的情况下检查温度值超出阈值一样!需要一个紧急触发器!

让我知道如果您在配置流分析作业时面临任何挑战! :)

+0

嗯。这对MS Azure IoT的设计目标很有见地。非常重视(可能偏见?)朝着实时行动。我在这里看到的是冷路径分析(这需要查询)。例如,在一段时间内(例如过去的一个月或一年)审查和了解设备行为,而不仅仅是实时。 – dapug