2

我正在寻找一种解决方案,将数据从 Azure IoT 中心获取到同样托管在 Azure 中的 Web 应用程序的后端,该应用程序是用 ASP.NET 4.6 编写的。最好尽快接收原始 Json 字符串。

我发现其他人建议将 Webhook 或 Azure 函数用于类似目的,但这些解决方案带来的延迟并不是真正可以接受的。最好直接连接到物联网端点并获取每条传入的消息。任何人都可以指出正确的方向吗?

4

2 回答 2

2

您可以简单地在您的 Web 应用程序中使用 EventHub .NET SDK,连接到 IoT 中心的EventHub 兼容端点并直接使用您的应用程序中的事件。这具有最小的延迟并且不涉及额外的组件。

如何指导(.NET 核心但同样适用于 .NET Framework):https ://docs.microsoft.com/en-us/azure/event-hubs/event-hubs-dotnet-standard-getstarted-send#receive-事件

var eventProcessorHost = new EventProcessorHost(
            EventHubName,
            PartitionReceiver.DefaultConsumerGroupName,
            EventHubConnectionString,
            StorageConnectionString,
            StorageContainerName);

// Registers the Event Processor Host and starts receiving messages
await eventProcessorHost.RegisterEventProcessorAsync<SimpleEventProcessor>();
于 2019-07-15T08:08:28.063 回答
0

Azure SignalR 服务可以帮助将消息广播到 Web 应用实例。

Azure IoT 中心和 Azure SignalR 服务之间没有直接集成。基本上,您可以使用两种模式进行这种集成,例如PULL-PUSHPUSH-PUSH

以下屏幕显示了这些集成模式:

在此处输入图像描述

请注意,带有 Azure 事件网格的PUSH-PUSH模式适用于订阅者(消费者)对于按顺序处理事件并不重要的解决方案。

于 2019-07-15T07:20:35.447 回答