使用Null消息的EventHub接收器RecieveTime问题

时间:2015-08-22 16:29:17

标签: amqp iot azure-eventhub azure-stream-analytics

我正在使用AzureSBLite包装器来轮询来自具有特定分区的eventhub的消息。 Eventdata将被发送到一个事件中心,Stream分析将从那里读取。处理完成后,流分析会将其写入某个分区中的不同事件中心。

SenderEventHub[Partition-1]-->Stream Analytics -->ReciverEventHub[Partition-2]

接收部分通常在接收方法上采用60-150s,这不应该是这种情况。我不确定在包装器下面会发生什么。我已经验证了streamanalytics的输出,它几乎接近瞬间但是接收器什么也没得到。

RecieverCode

ServiceBusConnectionStringBuilder builder = new ServiceBusConnectionStringBuilder(Helper.ConnectionString);

                    builder.TransportType = TransportType.Amqp;

                    MessagingFactory MessagingFactory = MessagingFactory.CreateFromConnectionString(Helper.ConnectionString);

                    EventHubClient client = MessagingFactory.CreateEventHubClient(eventHubEntity as string);

                    EventHubConsumerGroup group = client.GetConsumerGroup(Helper.ConsumerGroup);

                    EventHubReceiver receiver = group.CreateReceiver(Helper.PartitionReciever); 

                    do
                    {
                        EventData data = receiver.Receive();

                        if (data != null)
                        {
                            Debug.WriteLine(Helper.Currentoffset = data.Offset);

                            var msg = JsonConvert.DeserializeObject<EventBody>(Encoding.UTF8.GetString(data.GetBytes()));

                            if (msg != null) Helper.Speak(msg.CommandName);
                        }
                    } while (true);

enter image description here

尝试使用相同的EventHub,但两个不同的分区更糟糕。

enter image description here

注意:Windows 10 IoT Core不支持Azure.SeriveBus。因此无法使用EventProcessorHost。

0 个答案:

没有答案