SubscriptionEventHandlers interface
Interface qui décrit les fonctions à implémenter par l’utilisateur qui sont appelées par l'EventHubConsumerClient
lorsque la méthode subscribe()
est appelée pour recevoir des événements à partir d’Event Hub.
Propriétés
process |
Fonction appelée par Si le Si le |
process |
Fonction appelée par La Une fois que le client a terminé l’exécution de cette fonction, la fonction |
process |
Fonction appelée par La méthode Remarque : Il est possible que les événements reçus soient un tableau vide.
Cela peut se produire s’il n’y a pas de nouveaux événements à recevoir dans le |
process |
Fonction appelée par Le client commence à recevoir des événements pour la partition uniquement après avoir terminé l’exécution de cette fonction (le cas échéant). Par conséquent, utilisez cette fonction pour effectuer tout travail d’installation, y compris les tâches asynchrones. |
Détails de la propriété
processClose
Fonction appelée par EventHubConsumerClient
chaque fois que l’abonnement cesse de lire des événements à partir d’une partition. Les informations sur cette partition seront disponibles sur le PartitionContext
transmis à la fonction processClose
.
Si le CloseReason
passé à cette fonction est OwnershipLost
, un autre abonnement a repris la lecture à partir de la même partition à l’aide du même groupe de consommateurs. Cela est attendu si vous avez plusieurs instances de votre application en cours d’exécution et que vous avez passé les CheckpointStore
au client pour équilibrer la charge.
Si le CloseReason
est Shutdown
, cela indique que subscription.close()
a été appelé ou qu’une erreur s’est produite. Sauf si l’abonnement a été explicitement fermé via subscription.close()
, l’abonnement tente de reprendre la lecture des événements à partir du dernier point de contrôle de la partition.
processClose?: ProcessCloseHandler
Valeur de propriété
processError
Fonction appelée par EventHubConsumerClient
pour les erreurs qui se produisent lors de la réception d’événements ou lors de l’exécution d’une des fonctions fournies par l’utilisateur passées à la méthode subscribe()
.
La PartitionContext
passée à cette fonction indique la partition en cours de traitement lorsque l’erreur a été levée. Dans les cas où une erreur est levée en dehors des événements de traitement à partir d’une partition (par exemple, l’échec de l’équilibrage de charge), l'partitionId
sur le contexte est une chaîne vide.
Une fois que le client a terminé l’exécution de cette fonction, la fonction partitionClose
est appelée.
processError: ProcessErrorHandler
Valeur de propriété
processEvents
Fonction appelée par EventHubConsumerClient
lorsqu’un ensemble d’événements est reçu. Les PartitionContext
passées à cette fonction peuvent être utilisées pour déterminer à partir de laquelle la partition est lue.
La méthode updateCheckpoint()
sur le contexte peut être utilisée pour mettre à jour les points de contrôle dans le CheckpointStore
(si une méthode a été fournie au client). Utilisez-le dans des intervalles fréquents pour marquer les événements qui ont été traités afin que le client puisse redémarrer à partir de ces points de contrôle en cas de redémarrage ou de récupération d’erreur.
Remarque : Il est possible que les événements reçus soient un tableau vide.
Cela peut se produire s’il n’y a pas de nouveaux événements à recevoir dans le maxWaitTimeInSeconds
, ce qui est défini par défaut sur 60 secondes.
Le maxWaitTimeInSeconds
peut être modifié en le définissant dans le options
passé à subscribe()
.
processEvents: ProcessEventsHandler
Valeur de propriété
processInitialize
Fonction appelée par EventHubConsumerClient
chaque fois que l’abonnement commence à lire à partir d’une partition. La PartitionContext
passée à cette fonction peut être utilisée pour déterminer à partir de laquelle la partition est sur le point d’être lue.
Le client commence à recevoir des événements pour la partition uniquement après avoir terminé l’exécution de cette fonction (le cas échéant). Par conséquent, utilisez cette fonction pour effectuer tout travail d’installation, y compris les tâches asynchrones.
processInitialize?: ProcessInitializeHandler