存储来自 Azure IOT 中心的最后一个事件以在 Web 应用中使用
Store last event from Azure IOT Hub to use in web app
我正在开发一个物联网解决方案,其中数据每 15 秒从边缘设备发送到 Azure 物联网中心。
我正在网络应用程序中创建一个实时仪表板,只需要保留每台设备收到的最新数据。历史数据在别处处理。
我考虑过为此目的使用 redis 缓存,但这是 redis 缓存的一个很好的用例吗,或者 Azure 中是否有更适合的其他服务?每个密钥大约每 15 秒更新一次,这让我觉得它可能被误用了。
根据我的经验,Redis 在 Azure 上的价格 运行 实在是太过分了。我们已经多次将 Azure 存储 table 和 blob 作为事件的缓存作为数据入口处理的一部分成功实施。 Azure 存储已被用作许多不同服务的缓存资源,用于每 1 分钟报告一次数据的数千个边缘物联网设备。
我相信您知道,Azure 标准 table 存储有其局限性,但是您只能在分区键和行键上建立索引,因此您必须计划如何搜索数据以实现高效访问模式的实现。此外,您只能在不分页的情况下提取 1000 条记录,但这对于缓存来说应该不是初始服务启动以外的问题。
如果缓存性能是每个问题,自 2018 年以来,您现在也可以升级到高级存储作为一个选项。注意高级存储允许您索引任何列,(基本上是后台的 COSMOS DB,但显示为 Azure 存储).
希望能提供有用的东西。
成本比较
表现
参考
https://docs.microsoft.com/en-us/azure/storage/blobs/storage-blob-performance-tiers
添加到 Scott 的回答中,我正在处理几乎类似的要求,我们需要在仪表板中显示来自设备的实时遥测数据以及历史趋势。对于实时数据,Azure SignalR 服务看起来不错 choice.Azure 功能会将实时数据从 IOT 中心推送到 Azure SignalR 服务,后者又会通过 websockets 更新仪表板。我还没有开始根据 deviceid 从 Azure SignalR 服务中过滤实时数据。
对于近实时(即延迟 10 秒)或历史数据,Azure 时间序列见解 used.Looks 就像您有一些历史解决方案,因此对于实时数据,您可以评估 Azure SignalR 服务是否会帮不帮。
我正在开发一个物联网解决方案,其中数据每 15 秒从边缘设备发送到 Azure 物联网中心。
我正在网络应用程序中创建一个实时仪表板,只需要保留每台设备收到的最新数据。历史数据在别处处理。
我考虑过为此目的使用 redis 缓存,但这是 redis 缓存的一个很好的用例吗,或者 Azure 中是否有更适合的其他服务?每个密钥大约每 15 秒更新一次,这让我觉得它可能被误用了。
根据我的经验,Redis 在 Azure 上的价格 运行 实在是太过分了。我们已经多次将 Azure 存储 table 和 blob 作为事件的缓存作为数据入口处理的一部分成功实施。 Azure 存储已被用作许多不同服务的缓存资源,用于每 1 分钟报告一次数据的数千个边缘物联网设备。
我相信您知道,Azure 标准 table 存储有其局限性,但是您只能在分区键和行键上建立索引,因此您必须计划如何搜索数据以实现高效访问模式的实现。此外,您只能在不分页的情况下提取 1000 条记录,但这对于缓存来说应该不是初始服务启动以外的问题。
如果缓存性能是每个问题,自 2018 年以来,您现在也可以升级到高级存储作为一个选项。注意高级存储允许您索引任何列,(基本上是后台的 COSMOS DB,但显示为 Azure 存储).
希望能提供有用的东西。
成本比较
表现
参考 https://docs.microsoft.com/en-us/azure/storage/blobs/storage-blob-performance-tiers
添加到 Scott 的回答中,我正在处理几乎类似的要求,我们需要在仪表板中显示来自设备的实时遥测数据以及历史趋势。对于实时数据,Azure SignalR 服务看起来不错 choice.Azure 功能会将实时数据从 IOT 中心推送到 Azure SignalR 服务,后者又会通过 websockets 更新仪表板。我还没有开始根据 deviceid 从 Azure SignalR 服务中过滤实时数据。
对于近实时(即延迟 10 秒)或历史数据,Azure 时间序列见解 used.Looks 就像您有一些历史解决方案,因此对于实时数据,您可以评估 Azure SignalR 服务是否会帮不帮。