EventProcessorClient.OnProcessingEventBatchAsync Método
Definición
Importante
Parte de la información hace referencia a la versión preliminar del producto, que puede haberse modificado sustancialmente antes de lanzar la versión definitiva. Microsoft no otorga ninguna garantía, explícita o implícita, con respecto a la información proporcionada aquí.
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 null
en , 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.