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
| process |
De functie die door Als de Als de |
| process |
De functie die wordt aangeroepen door De Nadat de client deze functie heeft uitgevoerd, wordt de |
| process |
De functie die wordt aangeroepen door De Opmerking: het is mogelijk dat ontvangen gebeurtenissen een lege matrix zijn.
Dit kan gebeuren als er geen nieuwe gebeurtenissen in de |
| process |
De functie die wordt aangeroepen door 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