Compartir a través de


EventProcessor<TPartition> Clase

Definición

Proporciona una base para crear un procesador personalizado que consume eventos en todas las particiones de un centro de eventos determinado para un grupo de consumidores específico. El procesador es capaz de colaborar con otras instancias para el mismo emparejamiento de grupos de consumidores y centro de eventos para compartir el trabajo mediante una plataforma de almacenamiento común para comunicarse. La tolerancia a errores también está integrada, lo que permite que el procesador sea resistente frente a errores.

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

Contexto de la partición para la que se realiza una operación.

Herencia
EventProcessor<TPartition>
Derivado

Comentarios

Para habilitar la coordinación para el uso compartido de particiones entre EventProcessor<TPartition> instancias, se afirmará el acceso de lectura exclusivo a las particiones para el grupo de consumidores. Ningún otro lector debe estar activo en el grupo de consumidores distinto de los procesadores que tengan previsto colaborar. Se denegará el acceso a los lectores no exclusivos; los lectores exclusivos, incluidos los procesadores que usan diferentes ubicaciones de almacenamiento, interferirán con el rendimiento y el funcionamiento del procesador.

EventProcessor<TPartition> es seguro almacenar en caché y usar para la duración de una aplicación, que es el enfoque recomendado. El procesador es responsable de garantizar un uso eficaz de la red, la CPU y la memoria. Si se llama a o StopProcessingAsync(CancellationToken)StopProcessing(CancellationToken) cuando se completa todo el procesamiento o cuando se cierra la aplicación, se asegurará de que los recursos de red y otros objetos no administrados se limpien correctamente.

Constructores

EventProcessor<TPartition>()

Inicializa una nueva instancia de la clase EventProcessor<TPartition>.

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

Inicializa una nueva instancia de la clase EventProcessor<TPartition>.

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

Inicializa una nueva instancia de la clase EventProcessor<TPartition>.

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

Inicializa una nueva instancia de la clase EventProcessor<TPartition>.

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

Inicializa una nueva instancia de la clase EventProcessor<TPartition>.

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

Inicializa una nueva instancia de la clase EventProcessor<TPartition>.

Propiedades

ConsumerGroup

Nombre del grupo de consumidores al que está asociado este procesador de eventos. Los eventos solo se leerán en el contexto de este grupo.

EventHubName

Nombre del centro de eventos al que está conectado el procesador, específico del espacio de nombres de Event Hubs que lo contiene.

FullyQualifiedNamespace

Espacio de nombres completo de Event Hubs al que está asociado el procesador. Es probable que sea similar a {yournamespace}.servicebus.windows.net.

Identifier

Nombre único que se usa para identificar este procesador de eventos.

IsRunning

Indica si este procesador de eventos se está ejecutando actualmente.

RetryPolicy

Directiva activa que rige los reintentos para el procesador.

Métodos

ClaimOwnershipAsync(IEnumerable<EventProcessorPartitionOwnership>, CancellationToken)

Intenta reclamar la propiedad de las particiones especificadas para su procesamiento. Esta operación se usa mediante el equilibrio de carga para permitir la distribución de la responsabilidad de procesar particiones para un centro de eventos y un emparejamiento de grupos de consumidores entre los procesadores de eventos activos.

CreateConnection()

Crea un EventHubConnection objeto que se usará para comunicarse con el servicio Event Hubs.

GetCheckpointAsync(String, CancellationToken)

Devuelve un punto de control para el centro de eventos, el grupo de consumidores y el identificador de la partición asociada a la instancia del procesador de eventos, de modo que el procesamiento de una partición determinada se pueda inicializar correctamente. La implementación predeterminada llama a los Azure.Messaging.EventHubs.Primitives.EventProcessor`1.ListCheckpointsAsync(System.Threading.CancellationToken) resultados y filtra los resultados por PartitionId. Se recomienda que este método se invalide en EventProcessor<TPartition> implementaciones para lograr un rendimiento óptimo.

ListOwnershipAsync(CancellationToken)

Solicita una lista de las asignaciones de propiedad para las particiones entre cada una de las instancias del procesador de eventos de cooperación para un centro de eventos determinado y el emparejamiento de grupos de consumidores. Este método se usa durante el equilibrio de carga para permitir que el procesador detecte otros colaboradores activos y tome decisiones sobre cómo equilibrar mejor el trabajo entre ellos.

ListPartitionIdsAsync(EventHubConnection, CancellationToken)

Consulta los identificadores de las particiones del centro de eventos.

OnInitializingPartitionAsync(TPartition, CancellationToken)

Realiza las tareas para inicializar una partición y su contexto asociado para el procesamiento de eventos.

OnPartitionProcessingStoppedAsync(TPartition, ProcessingStoppedReason, CancellationToken)

Realiza las tareas necesarias cuando se detiene el procesamiento de una partición. Esto suele ocurrir cuando otra instancia del procesador de eventos reclama la partición o cuando se apaga la instancia del procesador de eventos actual.

OnProcessingErrorAsync(Exception, TPartition, String, CancellationToken)

Realiza las tareas necesarias cuando se produce una excepción inesperada dentro del funcionamiento de la infraestructura del procesador de eventos.

OnProcessingEventBatchAsync(IEnumerable<EventData>, TPartition, CancellationToken)

Realiza las tareas necesarias para procesar un lote de eventos para una partición determinada a medida que se leen desde el servicio Event Hubs.

ReadLastEnqueuedEventProperties(String)

Conjunto de información sobre el último evento en cola de una partición, tal y como observa el cliente de EventHubs asociado a este contexto a medida que se reciben eventos del servicio Event Hubs. Esto solo está disponible si el consumidor se creó con TrackLastEnqueuedEventProperties establecido.

StartProcessing(CancellationToken)

Indica que EventProcessor<TPartition> se van a iniciar los eventos de procesamiento. Si se llama a este método mientras se ejecuta el procesador, no se realiza ninguna acción.

StartProcessingAsync(CancellationToken)

Indica que EventProcessor<TPartition> se van a iniciar los eventos de procesamiento. Si se llama a este método mientras se ejecuta el procesador, no se realiza ninguna acción.

StopProcessing(CancellationToken)

Indica que se detendrá el EventProcessor<TPartition> procesamiento de eventos. Si se llama a este método mientras el procesador no se está ejecutando, no se realiza ninguna acción.

StopProcessingAsync(CancellationToken)

Indica que se detendrá el EventProcessor<TPartition> procesamiento de eventos. Si se llama a este método mientras el procesador no se está ejecutando, no se realiza ninguna acción.

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

Crea o actualiza un punto de control para una partición específica, lo que identifica una posición en el flujo de eventos de la partición desde la que debe empezar a leer un procesador de eventos.

ValidateProcessingPreconditions(CancellationToken)

Realiza las tareas necesarias para validar la configuración básica y los permisos de las dependencias necesarias para que funcione el procesador.

Se aplica a