Azure - 将数据从 IoT 中心发送到 Web 应用程序后端
Azure - Sending data from IoT Hub to Web App Backend
我正在寻找一种解决方案,以将数据从 Azure IoT 中心获取到同样托管在 Azure 中的 Web 应用程序的后端,该应用程序是用 ASP.NET 4.6 编写的。
最好尽快接收原始 Json 字符串。
我发现其他人建议将 Webhooks 或 Azure 功能用于类似的目的,但这些解决方案带来的延迟并不是真正可以接受的。
最好直接连接到 IoT 端点并在收到每条消息时获取它。任何人都可以指出正确的方向吗?
Azure SignalR Service 可以帮助将消息广播到 Web 应用程序实例。
Azure IoT 中心和 Azure SignalR 服务之间没有直接集成。基本上,您可以为此集成使用两种模式,例如 PULL-PUSH 和 PUSH-PUSH.
以下屏幕显示了这些集成模式:
注意,Azure 事件网格的PUSH-PUSH 模式适用于当订阅者(消费者)对按顺序处理事件不重要时的解决方案。
您只需在您的 Web 应用程序中使用 EventHub .NET SDK,连接到 IoT 中心的 EventHub-compatible endpoint 并直接使用您的应用程序中的事件。这具有最小的延迟并且不涉及额外的组件。
如何指导(.NET core 但同样适用于 .NET Framework):https://docs.microsoft.com/en-us/azure/event-hubs/event-hubs-dotnet-standard-getstarted-send#receive-events
var eventProcessorHost = new EventProcessorHost(
EventHubName,
PartitionReceiver.DefaultConsumerGroupName,
EventHubConnectionString,
StorageConnectionString,
StorageContainerName);
// Registers the Event Processor Host and starts receiving messages
await eventProcessorHost.RegisterEventProcessorAsync<SimpleEventProcessor>();
我正在寻找一种解决方案,以将数据从 Azure IoT 中心获取到同样托管在 Azure 中的 Web 应用程序的后端,该应用程序是用 ASP.NET 4.6 编写的。 最好尽快接收原始 Json 字符串。
我发现其他人建议将 Webhooks 或 Azure 功能用于类似的目的,但这些解决方案带来的延迟并不是真正可以接受的。 最好直接连接到 IoT 端点并在收到每条消息时获取它。任何人都可以指出正确的方向吗?
Azure SignalR Service 可以帮助将消息广播到 Web 应用程序实例。
Azure IoT 中心和 Azure SignalR 服务之间没有直接集成。基本上,您可以为此集成使用两种模式,例如 PULL-PUSH 和 PUSH-PUSH.
以下屏幕显示了这些集成模式:
注意,Azure 事件网格的PUSH-PUSH 模式适用于当订阅者(消费者)对按顺序处理事件不重要时的解决方案。
您只需在您的 Web 应用程序中使用 EventHub .NET SDK,连接到 IoT 中心的 EventHub-compatible endpoint 并直接使用您的应用程序中的事件。这具有最小的延迟并且不涉及额外的组件。
如何指导(.NET core 但同样适用于 .NET Framework):https://docs.microsoft.com/en-us/azure/event-hubs/event-hubs-dotnet-standard-getstarted-send#receive-events
var eventProcessorHost = new EventProcessorHost(
EventHubName,
PartitionReceiver.DefaultConsumerGroupName,
EventHubConnectionString,
StorageConnectionString,
StorageContainerName);
// Registers the Event Processor Host and starts receiving messages
await eventProcessorHost.RegisterEventProcessorAsync<SimpleEventProcessor>();