我的传感器数据存储在 IoT 中心的什么位置?
物联网
天蓝色
2021-06-23 09:42:31
2个回答
Azure IoT 中心不充当用于查询数据的遥测数据库。实际上,它在保留策略中定义的指定时间内存储数据,但您无法从门户直接访问它。要获取数据,您可以执行以下操作 -
- 在设备遥测消息上创建消息路由,将您的消息路由到外部存储。https://docs.microsoft.com/en-us/azure/iot-hub/iot-hub-devguide-messages-d2c
- 创建一个带有 IoT 中心触发器的 Azure 函数,它将获取消息,然后您可以以编程方式路由它们。https://docs.microsoft.com/en-us/azure/azure-functions/functions-bindings-event-iot-trigger?tabs=csharp
- 使用设备资源管理器等工具 - https://docs.microsoft.com/en-us/azure/iot-pnp/howto-use-iot-explorer
- 使用 EventProcessorHost 库获取数据https://docs.microsoft.com/en-us/azure/event-hubs/event-hubs-event-processor-host
这里有几篇文章可以为您解释。
从第一个链接。在我看来,数据默认保存在 CosmoDB 中。这对我来说很有意义,因为这将是一个完美的地方,因为我相信我读过 CosmoDB 可以保证单位数的延迟,而且它是为此类事情而设计的。
显然,有一些抽象可以让您通过存储适配器微服务访问它。所以我认为这就是您可以通过 Device Twin 对其进行评估的原因。
第二个链接谈到能够将数据保存到自定义端点,如 blob 存储。我想如果你想访问数据来下载它是可能的。
我不是专家,但很感兴趣。希望这可以帮助。如果有人对我感兴趣的 Microsoft 链接有不同的解释。