Tag: azure eventhub

我们可以将azure色事件中心与azure色通知中心连接吗?

我将消息从Windows窗体应用程序发送到azure事件中心。 在我使用数据流分析进行一些实时操作并从事件中心获取数据之后。 在该操作之后,我将结果消息发送到事件中心。 现在我想通过使用移动应用程序(Android或Windows移动应用程序)的azure通知集线器向用户显示结果消息。 我们可以直接连接azure通知集线器和azure事件集线器吗?

Azurefunction的事件中心输入绑定

我有一个Azure函数,其输入绑定到事件中心。 public static async Task Run(TraceWriter log, string eventHubMessage) 触发该函数时,默认情况下每次执行会收到多少条消息? 这是1次执行= 1条消息吗? 我已阅读文档并了解您可以在函数的host.json文件中设置这些属性: “eventHub”: { // The maximum event count received per receive loop. The default is 64. “maxBatchSize”: 64, // The default PrefetchCount that will be used by the underlying EventProcessorHost. “prefetchCount”: 256 } maxBatchSize是否意味着我将在1次执行中收到64条消息?

Azure DocumentDB读取未找到的文档资源

我正在构建一个.Net控制台应用程序来读取DocumentDB中的信息。 控制台应用程序具有来自EventHub的数据,并在进入云时插入/更新最新数据。 我正在尝试从DocumentDB读取单个文档,我可以在请求文档之前确认文档存在。 if (DocumentDBRepository.DoesItemExist(name)) { device = await DocumentDBRepository.GetItemAsync(name); } 我使用Microsoft的这个教程来构建用于访问DocumentDB记录的存储库,并且成功地使用了几乎所有方法。 我可以更新/删除/查询数据库,但我无法读取单数项。 首先,它抛出了一个请求PartitionKey的exception。 所以我修改了方法,将DB使用的PartitionKey添加到请求中。 一旦我添加了PartitionKey,它就会抛出另一个exception,并显示一条消息“找不到资源” public static async Task GetItemAsync(string id) { try { RequestOptions options = new RequestOptions(); options.PartitionKey = new PartitionKey(“DeviceId”); Document document = await client.ReadDocumentAsync(UriFactory.CreateDocumentUri(DatabaseId, CollectionId, id), options); return (T)(dynamic)document; } catch (DocumentClientException e) { if (e.StatusCode == HttpStatusCode.NotFound) { return […]

强制EventProcessorHost将失败的Azure Event Hub eventData重新传递给IEventProcessor.ProcessEvents方法

该应用程序使用.NET 4.6.1和Microsoft.Azure.ServiceBus.EventProcessorHost nuget包v2.0.2及其依赖WindowsAzure.ServiceBus包v3.0.1来处理Azure Event Hub消息。 该应用程序具有IEventProcessor的实现。 当从ProcessEventsAsync方法抛出未处理的exception时, EventProcessorHost永远不会将这些消息重新发送到正在运行的IEventProcessor实例。 (有趣的是,如果托管应用程序停止并重新启动,或者租约丢失并重新获得,它将重新发送。) 有没有办法强制导致exception的事件消息被EventProcessorHost重新发送到IEventProcessor实现? 本评论中提供了一个可能的解决方案,该问题几乎完全相同: IEventProcessor.ProcessEventsAsync中的Redeliver未处理的EventHub消息 评论建议在ProcessEventsAsync发生exception时,保留最后一个成功处理的事件消息的副本,并使用该消息显式检查点。 但是,在实现和测试此类解决方案后, EventProcessorHost仍然不会重新发送。 实现非常简单: private EventData _lastSuccessfulEvent; public async Task ProcessEventsAsync( PartitionContext context, IEnumerable messages) { try { await ProcessEvents(context, messages); // does actual processing, may throw exception _lastSuccessfulEvent = messages .OrderByDescending(ed => ed.SequenceNumber) .First(); } catch(Exception ex) { await context.CheckpointAsync(_lastSuccessfulEvent); } } […]

SignalR通过Azure EventHub扩展

我正在寻找SignalR的高频缩放解决方案。 我想知道我是否可以使用Azure EventHub。 如果我使用EventHub作为SignalR消息的背板,它会成为我的瓶颈吗? 我已经检查了这个页面但是没有关于EventHub的内容,因为它是相当新的。

是什么导致Azure事件中心ReceiverDisconnectedException / LeaseLostException?

我正在使用EventProcessorHost和一个IEventProcessor类(调用它:MyEventProcessor)从EventHub接收事件。 我通过在两台服务器上运行我的EPH,并使用相同的ConsumerGroup连接到Hub,但使用唯一的hostName(使用机器名称)将其扩展到两台服务器。 问题是:在白天/黑夜的随机时间,应用程序记录此: Exception information: Exception type: ReceiverDisconnectedException Exception message: New receiver with higher epoch of ‘186’ is created hence current receiver with epoch ‘186’ is getting disconnected. If you are recreating the receiver, make sure a higher epoch is used. at Microsoft.ServiceBus.Common.ExceptionDispatcher.Throw(Exception exception) at Microsoft.ServiceBus.Common.Parallel.TaskHelpers.EndAsyncResult(IAsyncResult asyncResult) at Microsoft.ServiceBus.Messaging.IteratorAsyncResult`1.StepCallback(IAsyncResult result) 此exception与LeaseLostException同时发生,当它尝试检查点时,从MyEventProcessor的CloseAsync方法抛出。 (由于ReceiverDisconnectedException,可能正在调用Close?) 我认为这是由于Event Hubs在扩展到多台机器时的自动租赁管理而发生的。 但我想知道我是否需要做一些不同的事情,以使其工作更干净,避免这些例外? […]