Compartir a través de


EventProcessorClient.OnProcessingEventBatchAsync Método

Definición

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.

protected override System.Threading.Tasks.Task OnProcessingEventBatchAsync (System.Collections.Generic.IEnumerable<Azure.Messaging.EventHubs.EventData> events, Azure.Messaging.EventHubs.Primitives.EventProcessorPartition partition, System.Threading.CancellationToken cancellationToken);
override this.OnProcessingEventBatchAsync : seq<Azure.Messaging.EventHubs.EventData> * Azure.Messaging.EventHubs.Primitives.EventProcessorPartition * System.Threading.CancellationToken -> System.Threading.Tasks.Task
Protected Overrides Function OnProcessingEventBatchAsync (events As IEnumerable(Of EventData), partition As EventProcessorPartition, cancellationToken As CancellationToken) As Task

Parámetros

events
IEnumerable<EventData>

Lote de eventos que se van a procesar.

partition
EventProcessorPartition

Contexto de la partición desde la que se leyeron los eventos.

cancellationToken
CancellationToken

Instancia CancellationToken de para indicar la solicitud para cancelar el procesamiento. Esto es lo más probable que se produzca cuando el procesador se apague.

Devoluciones

Comentarios

El número de eventos del events lote puede variar. El lote contendrá una serie de eventos entre cero y el tamaño del lote que se solicitó cuando se creó el procesador, en función de la disponibilidad de eventos en la partición dentro del intervalo solicitado MaximumWaitTime .

Si hay suficientes eventos disponibles en la partición del centro de eventos para rellenar un lote del tamaño solicitado, el procesador rellenará el lote y lo enviará inmediatamente a este método. Si no hubiera un número suficiente de eventos disponibles en la partición para rellenar un lote completo, el procesador de eventos seguirá leyendo desde la partición para alcanzar el tamaño del lote solicitado hasta MaximumWaitTime que haya transcurrido, en cuyo momento devolverá un lote que contenga los eventos que estuvieran disponibles al final de ese período.

Si no se solicitó , MaximumWaitTime indicado estableciendo la opción nullen , el procesador de eventos seguirá leyendo desde la partición del centro de eventos hasta que se pueda rellenar un lote completo del tamaño solicitado y no enviará ningún lote parcial a este método.

Si se produce una excepción en el código de este método, el procesador de eventos le permitirá burbujar y no se mostrará al controlador de errores ni intentará controlarlo de ninguna manera. Se recomienda encarecidamente a los desarrolladores tener en cuenta escenarios de excepción y protegerse contra ellos mediante bloques try/catch y otros medios según corresponda.

No se recomienda que el estado del procesador se administre directamente desde dentro de este método; solicitar iniciar o detener el procesador puede dar lugar a un escenario de interbloqueo, especialmente si se usa la forma sincrónica de la llamada.

Se aplica a