【问题标题】:Azure Event Hub - EventProcessorClient on specific partitionAzure 事件中心 - 特定分区上的 EventProcessorClient
【发布时间】:2022-01-04 13:03:43
【问题描述】:

我正在使用 EventProcessorClient 从事件中心读取事件。如何限制此客户端从特定分区读取?

我是这样创建的:

EventProcessorClientBuilder eventProcessorClientBuilder = new EventProcessorClientBuilder()
                .connectionString(connectionString, eventHubName)
                .consumerGroup(EventHubClientBuilder.DEFAULT_CONSUMER_GROUP_NAME)
                .processEvent(IncomingEventProcessor.processEvent)
                .processError(processError)
                .checkpointStore(new BlobCheckpointStore(blobContainerAsyncClient));

        EventProcessorClient eventProcessorClient = eventProcessorClientBuilder.buildEventProcessorClient();

将为事件中心上的所有事件调用“processEvent”中的函数引用器 - 所有分区。我可以在该函数中检查事件与哪个分区相关,但我希望只接收来自特定分区的事件。

这可以使用 EventProcessorClient 吗?

【问题讨论】:

    标签: java azure azure-eventhub


    【解决方案1】:

    我发现EventProcessorClient 是自平衡的 - 即它将在连接到事件中心的实例数量上分配分区。

    【讨论】:

      【解决方案2】:

      使用 EventProcessorClient 是不可能的,但是您可以使用 EventHubConsumerAsyncClient 类来实现您正在寻找的see doc, 它包含一个receiveFromPartition 方法

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2016-11-16
        • 1970-01-01
        • 2019-12-04
        • 2018-11-10
        • 2019-02-15
        相关资源
        最近更新 更多