Microsoft Azure IoT Hub是否存储数据?

时间:2015-10-09 09:56:26

标签: azure iot

我刚刚开始学习Azure IoT,它非常有趣。我对IoT Hub在某处存储数据感到困惑吗?

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

我很清楚设备到云和云到设备如何与物联网中心协同工作。

3 个答案:

答案 0 :(得分:8)

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

如果要存储从设备接收的消息,则需要在事件中心公开的端点(例如,使用事件处理器主机)上读取客户端,该端点具有处理消息的业务逻辑并将其存储到数据库中示例

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

答案 1 :(得分:6)

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

第1步:通过Event Hub获取大规模数据。

步骤2:创建并使用流处理引擎(Stream Analytics或HDInsight / Storm)。您可以运行条件(类似SQL的查询)来过滤和存储冷存储或热存储中的相应数据,以进行进一步的分析。

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

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

如果您在配置Stream分析作业时遇到任何挑战,请告诉我们! :)

答案 2 :(得分:1)

如果您查看IoT Suite远程监控预配置解决方案(https://azure.microsoft.com/documentation/articles/iot-suite-remote-monitoring-sample-walkthrough/),您会发现它在blob存储中保持遥测并在DocumentDb中维护设备状态信息。这个预先配置的解决方案为您提供了前面答案中提出的要点的工作说明。