我有一个网络应用程序。目前的结构\流程如下。
我的查询
而不是直接发布到TableStorage,设备可以发布其数据的Azure资源IOTHub是否有任何好处?如果是这样,请告诉我。
- >一个。在这种情况下,应该将IoTHub上放置的数据用于存储所有接收的数据以供将来参考?
--->湾我之前使用过使用StreamAnalytics的选项,使用查询将IoTHub端接收的数据插入TableStorage。 是唯一\可用的好选择吗?
---> C。或者我们还有其他选择来保存发布到IoTHub的数据吗?
将数据直接从设备插入TableStorage的当前流程是否正常(最佳做法?)?如果没有,请建议采用解决方案的最佳方式。
答案 0 :(得分:0)
设备到云的消息被路由到与Event Hubs兼容的内置面向服务的端点(消息/事件)。这些消息由IoT Hub保留。默认值为一天,但可以增加到七天。您可以通过IoT Hub resource provider REST APIs以编程方式或使用Azure门户来修改保留时间。因此,您无需将数据发布到表存储直接,IoT Hub可以将数据存储为缓存。
Azure Storage由三个数据服务组成:Blob存储,文件存储和队列存储。 Blob存储支持标准和高级存储,高级存储仅使用SSD,以实现最快的性能。另一个功能是酷存储,允许您以较低的成本存储大量很少访问的数据。
答案 1 :(得分:0)
我一直在阅读使用IoTHub和TableStorage获取数据。 我的分析,最重要的是我使用Table Storage的经验,让我对此有了一些了解。
在将数据存储到storageTable之前,有充分的理由将数据发布到IoTHub。
我在我的案例中看到的一个好处是,最好将数据发布到IoTHub,我可以在IoTHub上接收数据,在仪表板(UI)上显示它(这是最新收到的);而不是查询存储表以获取最新信息。
<强>原因强>
虽然向TableStorage发布数据也可以正常工作,但可能会遇到一些性能问题。