Compartilhar via


EventProcessor<TPartition> Classe

Definição

Fornece uma base para criar um processador personalizado que consome eventos em todas as partições de um determinado Hub de Eventos para um grupo de consumidores específico. O processador é capaz de colaborar com outras instâncias para o mesmo hub de eventos e emparelhamento de grupo de consumidores para compartilhar o trabalho usando uma plataforma de armazenamento comum para se comunicar. A tolerância a falhas também é interna, permitindo que o processador seja resiliente diante de erros.

public abstract class EventProcessor<TPartition> where TPartition : EventProcessorPartition, new()
type EventProcessor<'Partition (requires 'Partition :> EventProcessorPartition and 'Partition : (new : unit -> 'Partition))> = class
Public MustInherit Class EventProcessor(Of TPartition)

Parâmetros de tipo

TPartition

O contexto da partição para a qual uma operação está sendo executada.

Herança
EventProcessor<TPartition>
Derivado

Comentários

Para habilitar a coordenação para o compartilhamento de partições entre EventProcessor<TPartition> instâncias, elas declararão acesso de leitura exclusivo a partições para o grupo de consumidores. Nenhum outro leitor deve estar ativo no grupo de consumidores além dos processadores que pretendem colaborar. Leitores não exclusivos terão acesso negado; leitores exclusivos, incluindo processadores que usam diferentes locais de armazenamento, interferirão na operação e no desempenho do processador.

O EventProcessor<TPartition> é seguro para armazenar em cache e usar durante o tempo de vida de um aplicativo, que é a abordagem recomendada. O processador é responsável por garantir o uso eficiente de rede, CPU e memória. Chamar ou StopProcessingAsync(CancellationToken)StopProcessing(CancellationToken) quando todo o processamento for concluído ou como o aplicativo estiver sendo desligado garantirá que os recursos de rede e outros objetos não gerenciados sejam limpos corretamente.

Construtores

EventProcessor<TPartition>()

Inicializa uma nova instância da classe EventProcessor<TPartition>.

EventProcessor<TPartition>(Int32, String, String, EventProcessorOptions)

Inicializa uma nova instância da classe EventProcessor<TPartition>.

EventProcessor<TPartition>(Int32, String, String, String, AzureNamedKeyCredential, EventProcessorOptions)

Inicializa uma nova instância da classe EventProcessor<TPartition>.

EventProcessor<TPartition>(Int32, String, String, String, AzureSasCredential, EventProcessorOptions)

Inicializa uma nova instância da classe EventProcessor<TPartition>.

EventProcessor<TPartition>(Int32, String, String, String, EventProcessorOptions)

Inicializa uma nova instância da classe EventProcessor<TPartition>.

EventProcessor<TPartition>(Int32, String, String, String, TokenCredential, EventProcessorOptions)

Inicializa uma nova instância da classe EventProcessor<TPartition>.

Propriedades

ConsumerGroup

O nome do grupo de consumidores ao qual esse processador de eventos está associado. Os eventos serão lidos somente no contexto desse grupo.

EventHubName

O nome do Hub de Eventos ao qual o processador está conectado, específico ao namespace dos Hubs de Eventos que o contém.

FullyQualifiedNamespace

O namespace dos Hubs de Eventos totalmente qualificado ao qual o processador está associado. É provável que isso seja semelhante a {yournamespace}.servicebus.windows.net.

Identifier

Um nome exclusivo usado para identificar esse processador de eventos.

IsRunning

Indica se esse processador de eventos está ou não em execução no momento.

RetryPolicy

A política ativa que rege as tentativas de repetição para o processador.

Métodos

ClaimOwnershipAsync(IEnumerable<EventProcessorPartitionOwnership>, CancellationToken)

Tenta reivindicar a propriedade das partições especificadas para processamento. Essa operação é usada pelo balanceamento de carga para permitir a distribuição da responsabilidade pelo processamento de partições para um hub de eventos e emparelhamento de grupo de consumidores entre os processadores de eventos ativos.

CreateConnection()

Cria um EventHubConnection a ser usado para se comunicar com o serviço hubs de eventos.

GetCheckpointAsync(String, CancellationToken)

Retorna um ponto de verificação para o Hub de Eventos, o grupo de consumidores e o identificador da partição associada à instância do processador de eventos, para que o processamento de uma determinada partição possa ser inicializado corretamente. A implementação padrão chama e filtra os Azure.Messaging.EventHubs.Primitives.EventProcessor`1.ListCheckpointsAsync(System.Threading.CancellationToken) resultados por PartitionId. É recomendável que esse método seja substituído em EventProcessor<TPartition> implementações para obter um desempenho ideal.

ListOwnershipAsync(CancellationToken)

Solicita uma lista das atribuições de propriedade para partições entre cada uma das instâncias do processador de eventos cooperando para um determinado emparelhamento de grupo de consumidores e Hub de Eventos. Esse método é usado durante o balanceamento de carga para permitir que o processador descubra outros colaboradores ativos e tome decisões sobre como equilibrar melhor o trabalho entre eles.

ListPartitionIdsAsync(EventHubConnection, CancellationToken)

Consultas para os identificadores das partições do Hub de Eventos.

OnInitializingPartitionAsync(TPartition, CancellationToken)

Executa as tarefas para inicializar uma partição e seu contexto associado para processamento de eventos.

OnPartitionProcessingStoppedAsync(TPartition, ProcessingStoppedReason, CancellationToken)

Executa as tarefas necessárias ao processar uma partição que está sendo interrompida. Isso geralmente ocorre quando a partição é reivindicada por outra instância do processador de eventos ou quando a instância atual do processador de eventos está sendo fechada.

OnProcessingErrorAsync(Exception, TPartition, String, CancellationToken)

Executa as tarefas necessárias quando ocorre uma exceção inesperada dentro da operação da infraestrutura do processador de eventos.

OnProcessingEventBatchAsync(IEnumerable<EventData>, TPartition, CancellationToken)

Executa as tarefas necessárias para processar um lote de eventos para uma determinada partição conforme eles são lidos do serviço hubs de eventos.

ReadLastEnqueuedEventProperties(String)

Um conjunto de informações sobre o último evento enfileirado de uma partição, conforme observado pelo cliente do EventHubs associado a esse contexto à medida que os eventos são recebidos do serviço hubs de eventos. Isso só estará disponível se o consumidor tiver sido criado com TrackLastEnqueuedEventProperties set.

StartProcessing(CancellationToken)

Sinaliza o EventProcessor<TPartition> para começar a processar eventos. Se esse método for chamado enquanto o processador estiver em execução, nenhuma ação será tomada.

StartProcessingAsync(CancellationToken)

Sinaliza o EventProcessor<TPartition> para começar a processar eventos. Se esse método for chamado enquanto o processador estiver em execução, nenhuma ação será tomada.

StopProcessing(CancellationToken)

Sinaliza o para interromper o EventProcessor<TPartition> processamento de eventos. Se esse método for chamado enquanto o processador não estiver em execução, nenhuma ação será executada.

StopProcessingAsync(CancellationToken)

Sinaliza o para interromper o EventProcessor<TPartition> processamento de eventos. Se esse método for chamado enquanto o processador não estiver em execução, nenhuma ação será executada.

UpdateCheckpointAsync(String, Int64, Nullable<Int64>, CancellationToken)

Cria ou atualiza um ponto de verificação para uma partição específica, identificando uma posição no fluxo de eventos da partição da qual um processador de eventos deve começar a ler.

ValidateProcessingPreconditions(CancellationToken)

Executa as tarefas necessárias para validar a configuração básica e as permissões das dependências necessárias para o processador funcionar.

Aplica-se a