Delen via


SubscriptionEventHandlers interface

Interface die de functies beschrijft die door de gebruiker moeten worden geïmplementeerd en die worden aangeroepen door de EventHubConsumerClient wanneer de subscribe() methode wordt aangeroepen om gebeurtenissen van Event Hub te ontvangen.

Eigenschappen

processClose

De functie wordt aangeroepen wanneer EventHubConsumerClient het abonnement stopt met het lezen van gebeurtenissen van een partitie. De informatie over deze partitie is beschikbaar op de PartitionContext die wordt doorgegeven aan de functie processClose.

Als de CloseReason doorgegeven aan deze functie is, heeft OwnershipLosteen ander abonnement het lezen van dezelfde partitie overgenomen met behulp van dezelfde consumentengroep. Dit is te verwachten als u meerdere exemplaren van uw toepassing hebt die worden uitgevoerd en de CheckpointStore hebt doorgegeven aan de client om taken te verdelen.

Als de CloseReason is, geeft dit aan dat een van subscription.close() beide is aangeroepen of dat er een fout is Shutdownopgetreden. Tenzij het abonnement expliciet is gesloten via subscription.close(), probeert het abonnement leesgebeurtenissen van het laatste controlepunt voor de partitie te hervatten.

processError

De functie die wordt aangeroepen door EventHubConsumerClient voor fouten die optreden bij het ontvangen van gebeurtenissen of bij het uitvoeren van een van de door de gebruiker opgegeven functies die zijn doorgegeven aan de subscribe() methode.

De PartitionContext doorgegeven aan deze functie geeft de partitie aan die werd verwerkt toen de fout werd gegenereerd. In gevallen waarin een fout wordt gegenereerd buiten het verwerken van gebeurtenissen van een partitie (bijvoorbeeld het niet uitvoeren van taakverdeling), is de partitionId in de context een lege tekenreeks.

Nadat de client het uitvoeren van deze functie heeft voltooid, wordt de partitionClose functie aangeroepen.

processEvents

De functie die wordt aangeroepen door EventHubConsumerClient wanneer een set gebeurtenissen wordt ontvangen. De PartitionContext doorgegeven aan deze functie kan worden gebruikt om te bepalen van welke partitie wordt gelezen.

De updateCheckpoint() methode voor de context kan worden gebruikt om controlepunten in de CheckpointStore bij te werken (als deze aan de client is opgegeven). Gebruik dit in regelmatige intervallen om gebeurtenissen te markeren die zijn verwerkt, zodat de client opnieuw kan opstarten vanaf dergelijke controlepunten in het geval van een herstart of foutherstel.

Opmerking: het is mogelijk dat ontvangen gebeurtenissen een lege matrix zijn. Dit kan gebeuren als er geen nieuwe gebeurtenissen zijn om te ontvangen in de maxWaitTimeInSeconds, die standaard is ingesteld op 60 seconden. De maxWaitTimeInSeconds kan worden gewijzigd door deze in te stellen in de options doorgegeven aan subscribe().

processInitialize

De functie die wordt aangeroepen wanneer EventHubConsumerClient het abonnement op het punt staat om te beginnen met lezen vanaf een partitie. De PartitionContext doorgegeven aan deze functie kan worden gebruikt om te bepalen van welke partitie wordt gelezen.

De client begint gebeurtenissen voor de partitie pas te ontvangen nadat de uitvoering van deze functie is voltooid (indien opgegeven). Gebruik deze functie daarom om installatiewerkzaamheden uit te voeren, inclusief asynchrone taken.

Eigenschapdetails

processClose

De functie wordt aangeroepen wanneer EventHubConsumerClient het abonnement stopt met het lezen van gebeurtenissen van een partitie. De informatie over deze partitie is beschikbaar op de PartitionContext die wordt doorgegeven aan de functie processClose.

Als de CloseReason doorgegeven aan deze functie is, heeft OwnershipLosteen ander abonnement het lezen van dezelfde partitie overgenomen met behulp van dezelfde consumentengroep. Dit is te verwachten als u meerdere exemplaren van uw toepassing hebt die worden uitgevoerd en de CheckpointStore hebt doorgegeven aan de client om taken te verdelen.

Als de CloseReason is, geeft dit aan dat een van subscription.close() beide is aangeroepen of dat er een fout is Shutdownopgetreden. Tenzij het abonnement expliciet is gesloten via subscription.close(), probeert het abonnement leesgebeurtenissen van het laatste controlepunt voor de partitie te hervatten.

processClose?: ProcessCloseHandler

Waarde van eigenschap

processError

De functie die wordt aangeroepen door EventHubConsumerClient voor fouten die optreden bij het ontvangen van gebeurtenissen of bij het uitvoeren van een van de door de gebruiker opgegeven functies die zijn doorgegeven aan de subscribe() methode.

De PartitionContext doorgegeven aan deze functie geeft de partitie aan die werd verwerkt toen de fout werd gegenereerd. In gevallen waarin een fout wordt gegenereerd buiten het verwerken van gebeurtenissen van een partitie (bijvoorbeeld het niet uitvoeren van taakverdeling), is de partitionId in de context een lege tekenreeks.

Nadat de client het uitvoeren van deze functie heeft voltooid, wordt de partitionClose functie aangeroepen.

processError: ProcessErrorHandler

Waarde van eigenschap

processEvents

De functie die wordt aangeroepen door EventHubConsumerClient wanneer een set gebeurtenissen wordt ontvangen. De PartitionContext doorgegeven aan deze functie kan worden gebruikt om te bepalen van welke partitie wordt gelezen.

De updateCheckpoint() methode voor de context kan worden gebruikt om controlepunten in de CheckpointStore bij te werken (als deze aan de client is opgegeven). Gebruik dit in regelmatige intervallen om gebeurtenissen te markeren die zijn verwerkt, zodat de client opnieuw kan opstarten vanaf dergelijke controlepunten in het geval van een herstart of foutherstel.

Opmerking: het is mogelijk dat ontvangen gebeurtenissen een lege matrix zijn. Dit kan gebeuren als er geen nieuwe gebeurtenissen zijn om te ontvangen in de maxWaitTimeInSeconds, die standaard is ingesteld op 60 seconden. De maxWaitTimeInSeconds kan worden gewijzigd door deze in te stellen in de options doorgegeven aan subscribe().

processEvents: ProcessEventsHandler

Waarde van eigenschap

processInitialize

De functie die wordt aangeroepen wanneer EventHubConsumerClient het abonnement op het punt staat om te beginnen met lezen vanaf een partitie. De PartitionContext doorgegeven aan deze functie kan worden gebruikt om te bepalen van welke partitie wordt gelezen.

De client begint gebeurtenissen voor de partitie pas te ontvangen nadat de uitvoering van deze functie is voltooid (indien opgegeven). Gebruik deze functie daarom om installatiewerkzaamheden uit te voeren, inclusief asynchrone taken.

processInitialize?: ProcessInitializeHandler

Waarde van eigenschap