我的传感器数据存储在 IoT 中心的什么位置?

物联网 天蓝色
2021-06-23 09:42:31

上下文:我正在通过网关设备将来自 NCD.io 传感器的温度/湿度数据发送到 Azure,然后将其存储在 IoT 中心的某处。

在此处输入图片说明

问题:这个数据在哪里?我可以通过设备孪生访问它,也可以看到它是通过 Azure CLI 发送的,但记录在 IoT 中心的数据仅传达有关网关消息本身的信息,而不是实际数据。屏幕截图是迄今为止收到的消息图表;我可以更深入地收集有关消息的见解,但对传感器数据一无所知。

在此处输入图片说明

此信息只能通过其他服务访问吗?有没有办法查看Hub中的数据?

寻求澄清、提示/技巧。谢谢!!

2个回答

Azure IoT 中心不充当用于查询数据的遥测数据库。实际上,它在保留策略中定义的指定时间内存储数据,但您无法从门户直接访问它。要获取数据,您可以执行以下操作 -

  1. 在设备遥测消息上创建消息路由,将您的消息路由到外部存储。https://docs.microsoft.com/en-us/azure/iot-hub/iot-hub-devguide-messages-d2c
  2. 创建一个带有 IoT 中心触发器的 Azure 函数,它将获取消息,然后您可以以编程方式路由它们。https://docs.microsoft.com/en-us/azure/azure-functions/functions-bindings-event-iot-trigger?tabs=csharp
  3. 使用设备资源管理器等工具 - https://docs.microsoft.com/en-us/azure/iot-pnp/howto-use-iot-explorer
  4. 使用 EventProcessorHost 库获取数据https://docs.microsoft.com/en-us/azure/event-hubs/event-hubs-event-processor-host

这里有几篇文章可以为您解释。

https://docs.microsoft.com/en-us/previous-versions/azure/iot-accelerators/iot-accelerators-remote-monitoring-sample-walkthrough

https://azure.microsoft.com/en-us/blog/route-iot-device-messages-to-azure-storage-with-azure-iot-hub/

从第一个链接。在我看来,数据默认保存在 CosmoDB 中。这对我来说很有意义,因为这将是一个完美的地方,因为我相信我读过 CosmoDB 可以保证单位数的延迟,而且它是为此类事情而设计的。

显然,有一些抽象可以让您通过存储适配器微服务访问它。所以我认为这就是您可以通过 Device Twin 对其进行评估的原因。

第二个链接谈到能够将数据保存到自定义端点,如 blob 存储。我想如果你想访问数据来下载它是可能的。

我不是专家,但很感兴趣。希望这可以帮助。如果有人对我感兴趣的 Microsoft 链接有不同的解释。