Partager via


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

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.

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.

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().

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.

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

Valeur de propriété