Delen via


SubscriptionEventHandlers interface

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

Eigenschappen

processClose

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

Als de CloseReason doorgegeven aan deze functie is OwnershipLost, heeft een ander abonnement het lezen van dezelfde partitie overgenomen met behulp van dezelfde consumentengroep. Dit wordt verwacht als er meerdere exemplaren van uw toepassing worden uitgevoerd en de CheckpointStore aan de client zijn doorgegeven om de taakverdeling te verdelen.

Als de CloseReason is Shutdown, geeft dit aan dat subscription.close() is aangeroepen of dat er een fout is opgetreden. 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 geleverde functies die zijn doorgegeven aan de subscribe() methode.

De PartitionContext die aan deze functie is doorgegeven, 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 deze functie heeft uitgevoerd, wordt de partitionClose functie aangeroepen.

processEvents

De functie die wordt aangeroepen door EventHubConsumerClient wanneer een reeks gebeurtenissen wordt ontvangen. De PartitionContext die aan deze functie worden doorgegeven, kunnen 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 verstrekt). Gebruik dit in regelmatige intervallen om gebeurtenissen te markeren die zijn verwerkt, zodat de client opnieuw kan worden opgestart vanaf dergelijke controlepunten in het geval van opnieuw opstarten of foutherstel.

Opmerking: het is mogelijk dat ontvangen gebeurtenissen een lege matrix zijn. Dit kan gebeuren als er geen nieuwe gebeurtenissen in de maxWaitTimeInSecondsworden ontvangen. Deze is standaard 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 door EventHubConsumerClient telkens wanneer het abonnement begint met lezen vanuit een partitie. De PartitionContext die aan deze functie worden doorgegeven, kunnen worden gebruikt om te bepalen van welke partitie moet worden gelezen.

De client ontvangt alleen gebeurtenissen voor de partitie 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 die door EventHubConsumerClient wordt aangeroepen telkens wanneer het abonnement stopt met het lezen van gebeurtenissen uit een partitie. De informatie over deze partitie is beschikbaar op de PartitionContext doorgegeven aan de functie processClose.

Als de CloseReason doorgegeven aan deze functie is OwnershipLost, heeft een ander abonnement het lezen van dezelfde partitie overgenomen met behulp van dezelfde consumentengroep. Dit wordt verwacht als er meerdere exemplaren van uw toepassing worden uitgevoerd en de CheckpointStore aan de client zijn doorgegeven om de taakverdeling te verdelen.

Als de CloseReason is Shutdown, geeft dit aan dat subscription.close() is aangeroepen of dat er een fout is opgetreden. 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 geleverde functies die zijn doorgegeven aan de subscribe() methode.

De PartitionContext die aan deze functie is doorgegeven, 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 deze functie heeft uitgevoerd, wordt de partitionClose functie aangeroepen.

processError: ProcessErrorHandler

Waarde van eigenschap

processEvents

De functie die wordt aangeroepen door EventHubConsumerClient wanneer een reeks gebeurtenissen wordt ontvangen. De PartitionContext die aan deze functie worden doorgegeven, kunnen 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 verstrekt). Gebruik dit in regelmatige intervallen om gebeurtenissen te markeren die zijn verwerkt, zodat de client opnieuw kan worden opgestart vanaf dergelijke controlepunten in het geval van opnieuw opstarten of foutherstel.

Opmerking: het is mogelijk dat ontvangen gebeurtenissen een lege matrix zijn. Dit kan gebeuren als er geen nieuwe gebeurtenissen in de maxWaitTimeInSecondsworden ontvangen. Deze is standaard 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 door EventHubConsumerClient telkens wanneer het abonnement begint met lezen vanuit een partitie. De PartitionContext die aan deze functie worden doorgegeven, kunnen worden gebruikt om te bepalen van welke partitie moet worden gelezen.

De client ontvangt alleen gebeurtenissen voor de partitie 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