我们的系统具有将设备到云(DeviceTelemetry)消息发送到我们的 IoT 中心实例的 IoT 设备。每条消息都具有自定义格式,并且可以通过 IoT 中心消息属性中的事件类型字段进行识别。然后,根据事件类型,消息由 Azure Functions 使用。
我们使用 IoT Hub Event Grid 系统主题。
流程: D2C 消息路由到 IoT 中心事件网格系统主题 -> 高级筛选器评估将消息路由到正确的 Azure 函数。
该解决方案是有效的,但根据我们的观察和估计,它会导致不可接受的成本。据我们了解,我们为事件网格中的每项操作付费,即将消息发布到事件网格、自定义高级筛选器评估和消息传递。知道每个事件网格订阅将使用自定义筛选器评估,并假设我们将有 20 个订阅,则每个 D2C 消息有 22 个操作。
问题 1. 我们的事件网格计算是否正确?以这种方式使用事件网格会变得非常昂贵。
问题 2. 事件网格流程是否可以调整以使其更便宜?我的意思是,例如,避免对每个订阅进行自定义过滤器评估。
问题 3. 事件网格消息主题是否可以更改?这将使我们能够使用标准过滤 - 而不是高级过滤。