EventProcessorClient.OnProcessingEventBatchAsync Méthode

Définition

Effectue les tâches nécessaires pour traiter un lot d’événements pour une partition donnée, car ils sont lus à partir du service 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

Paramètres

events
IEnumerable<EventData>

Lot d’événements à traiter.

partition
EventProcessorPartition

Contexte de la partition à partir de laquelle les événements ont été lus.

cancellationToken
CancellationToken

Un CancellationToken instance pour signaler la demande d’annulation du traitement. Cela est le plus susceptible de se produire lorsque le processeur s’arrête.

Retours

Remarques

Le nombre d’événements dans le events lot peut varier. Le lot contient un certain nombre d’événements compris entre zéro et la taille de lot qui a été demandée lors de la création du processeur, en fonction de la disponibilité des événements dans la partition dans l’intervalle demandé MaximumWaitTime .

Si suffisamment d’événements sont disponibles dans la partition Event Hub pour remplir un lot de la taille demandée, le processeur remplit le lot et le distribue immédiatement à cette méthode. S’il n’y avait pas un nombre suffisant d’événements disponibles dans la partition pour remplir un lot complet, le processeur d’événements continuera à lire à partir de la partition pour atteindre la taille de lot demandée jusqu’à ce que le MaximumWaitTime soit écoulé, auquel cas il retourne un lot contenant tous les événements disponibles à la fin de cette période.

Si un MaximumWaitTime n’a pas été demandé, indiqué en définissant l’option sur null, le processeur d’événements continuera à lire à partir de la partition Event Hub jusqu’à ce qu’un lot complet de la taille demandée puisse être rempli et n’envoie aucun lot partiel à cette méthode.

Si une exception se produit dans le code de cette méthode, le processeur d’événements l’autorise à buller et ne s’affiche pas au gestionnaire d’erreurs ou ne tente pas de la gérer de quelque manière que ce soit. Les développeurs sont vivement encouragés à prendre en compte les scénarios d’exception et à les protéger à l’aide de blocs try/catch et d’autres moyens, le cas échéant.

Il n’est pas recommandé que l’état du processeur soit géré directement à partir de cette méthode ; La demande de démarrage ou d’arrêt du processeur peut entraîner un scénario d’interblocage, en particulier si vous utilisez la forme synchrone de l’appel.

S’applique à