Partager via


SubscriptionEventHandlers interface

Interface qui décrit les fonctions à implémenter par l’utilisateur qui sont appelées par le EventHubConsumerClient lorsque la subscribe() méthode est appelée pour recevoir des événements à partir d’Event Hub.

Propriétés

processClose

Fonction appelée par EventHubConsumerClient chaque fois que l’abonnement arrête la lecture des événements d’une partition. Les informations sur cette partition seront disponibles sur le PartitionContext passé à la fonction processClose.

Si le CloseReason passé à cette fonction est OwnershipLost, un autre abonnement a pris en charge 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é le CheckpointStore au client pour équilibrer la charge.

Si est CloseReason , cela indique que l’un subscription.close() ou l’autre a été appelé ou qu’une erreur s’est Shutdownproduite. 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.

processError

Fonction appelée par 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 EventHubConsumerClient l’utilisateur passées à la subscribe() méthode.

Le PartitionContext passé à cette fonction indique la partition qui était en cours de traitement lorsque l’erreur a été levée. Dans les cas où une erreur est levée en dehors du traitement des événements d’une partition (par exemple, échec de l’équilibrage de charge), le partitionId sur le contexte est une chaîne vide.

Une fois que le client a terminé l’exécution de cette fonction, la partitionClose fonction est appelée.

processEvents

Fonction appelée par EventHubConsumerClient lorsqu’un ensemble d’événements est reçu. Le PartitionContext passé à cette fonction peut être utilisé pour déterminer la partition à partir de laquelle est lue.

La updateCheckpoint() méthode sur le contexte peut être utilisée pour mettre à jour des points de contrôle dans le CheckpointStore (le cas échéant) fourni au client. Utilisez cette option à 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 , maxWaitTimeInSecondsqui est défini par défaut sur 60 secondes. Vous pouvez modifier le maxWaitTimeInSeconds en le définissant dans le options passé sur subscribe().

processInitialize

Fonction appelée par EventHubConsumerClient chaque fois que l’abonnement est sur le point de commencer la lecture à partir d’une partition. Le PartitionContext passé à cette fonction peut être utilisé pour déterminer la partition à partir de laquelle la lecture est sur le point d’être effectuée.

Le client ne commencera à recevoir des événements pour la partition qu’après avoir terminé l’exécution de cette fonction (si fournie). 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 arrête la lecture des événements d’une partition. Les informations sur cette partition seront disponibles sur le PartitionContext passé à la fonction processClose.

Si le CloseReason passé à cette fonction est OwnershipLost, un autre abonnement a pris en charge 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é le CheckpointStore au client pour équilibrer la charge.

Si est CloseReason , cela indique que l’un subscription.close() ou l’autre a été appelé ou qu’une erreur s’est Shutdownproduite. 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 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 EventHubConsumerClient l’utilisateur passées à la subscribe() méthode.

Le PartitionContext passé à cette fonction indique la partition qui était en cours de traitement lorsque l’erreur a été levée. Dans les cas où une erreur est levée en dehors du traitement des événements d’une partition (par exemple, échec de l’équilibrage de charge), le partitionId sur le contexte est une chaîne vide.

Une fois que le client a terminé l’exécution de cette fonction, la partitionClose fonction est appelée.

processError: ProcessErrorHandler

Valeur de propriété

processEvents

Fonction appelée par EventHubConsumerClient lorsqu’un ensemble d’événements est reçu. Le PartitionContext passé à cette fonction peut être utilisé pour déterminer la partition à partir de laquelle est lue.

La updateCheckpoint() méthode sur le contexte peut être utilisée pour mettre à jour des points de contrôle dans le CheckpointStore (le cas échéant) fourni au client. Utilisez cette option à 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 , maxWaitTimeInSecondsqui est défini par défaut sur 60 secondes. Vous pouvez modifier le maxWaitTimeInSeconds en le définissant dans le options passé sur subscribe().

processEvents: ProcessEventsHandler

Valeur de propriété

processInitialize

Fonction appelée par EventHubConsumerClient chaque fois que l’abonnement est sur le point de commencer la lecture à partir d’une partition. Le PartitionContext passé à cette fonction peut être utilisé pour déterminer la partition à partir de laquelle la lecture est sur le point d’être effectuée.

Le client ne commencera à recevoir des événements pour la partition qu’après avoir terminé l’exécution de cette fonction (si fournie). Par conséquent, utilisez cette fonction pour effectuer tout travail d’installation, y compris les tâches asynchrones.

processInitialize?: ProcessInitializeHandler

Valeur de propriété