SubscriptionEventHandlers interface
Schnittstelle, die die vom Benutzer zu implementierenden Funktionen beschreibt, die vom EventHubConsumerClient
aufgerufen werden, wenn die subscribe()
-Methode aufgerufen wird, um Ereignisse vom Event Hub zu empfangen.
Eigenschaften
process |
Die Funktion, die von Wenn die an diese Funktion übergebene Wenn die |
process |
Die Funktion, die von Die an diese Funktion übergebene Nachdem der Client die Ausführung dieser Funktion abgeschlossen hat, wird die |
process |
Die Funktion, die von Die Hinweis: Es ist möglich, dass empfangene Ereignisse ein leeres Array sein.
Dies kann passieren, wenn im |
process |
Die Funktion, die von Der Client empfängt Ereignisse für die Partition erst nach Abschluss der Ausführung dieser Funktion (sofern angegeben). Verwenden Sie daher diese Funktion, um alle Einrichtungsaufgaben einschließlich asynchroner Aufgaben auszuführen. |
Details zur Eigenschaft
processClose
Die Funktion, die von EventHubConsumerClient
jedes Mal aufgerufen wird, wenn das Abonnement das Lesen von Ereignissen aus einer Partition beendet. Die Informationen zu dieser Partition sind für die PartitionContext
verfügbar, die an die Funktion processClose
übergeben werden.
Wenn die an diese Funktion übergebene CloseReason
OwnershipLost
ist, hat ein anderes Abonnement das Lesen derselben Partition mit derselben Consumergruppe übernommen. Dies wird erwartet, wenn mehrere Instanzen Ihrer Anwendung ausgeführt werden und die CheckpointStore
an den Client übergeben haben, um den Lastenausgleich zu erhalten.
Wenn die CloseReason
Shutdown
ist, gibt dies an, dass entweder subscription.close()
aufgerufen wurde oder ein Fehler aufgetreten ist. Sofern das Abonnement nicht explizit über subscription.close()
geschlossen wurde, versucht das Abonnement, leseereignisse vom letzten Prüfpunkt für die Partition fortzusetzen.
processClose?: ProcessCloseHandler
Eigenschaftswert
processError
Die Funktion, die von EventHubConsumerClient
für Fehler aufgerufen wird, die beim Empfangen von Ereignissen oder beim Ausführen einer der vom Benutzer bereitgestellten Funktionen auftreten, die an die subscribe()
-Methode übergeben werden.
Die an diese Funktion übergebene PartitionContext
gibt die Partition an, die beim Auslösen des Fehlers verarbeitet wurde. In Fällen, in denen ein Fehler außerhalb der Verarbeitungsereignisse von einer Partition ausgelöst wird(z. B. Fehler beim Ausführen des Lastenausgleichs), ist die partitionId
im Kontext eine leere Zeichenfolge.
Nachdem der Client die Ausführung dieser Funktion abgeschlossen hat, wird die partitionClose
-Funktion aufgerufen.
processError: ProcessErrorHandler
Eigenschaftswert
processEvents
Die Funktion, die von EventHubConsumerClient
aufgerufen wird, wenn eine Reihe von Ereignissen empfangen wird. Die an diese Funktion übergebene PartitionContext
kann verwendet werden, um zu bestimmen, aus welcher Partition gelesen wird.
Die updateCheckpoint()
-Methode für den Kontext kann verwendet werden, um Prüfpunkte im CheckpointStore
zu aktualisieren (sofern eine für den Client bereitgestellt wurde). Verwenden Sie dies in häufigen Intervallen, um Ereignisse zu markieren, die verarbeitet wurden, damit der Client von solchen Prüfpunkten im Falle eines Neustarts oder einer Fehlerwiederherstellung neu gestartet werden kann.
Hinweis: Es ist möglich, dass empfangene Ereignisse ein leeres Array sein.
Dies kann passieren, wenn im maxWaitTimeInSeconds
keine neuen Ereignisse empfangen werden, die standardmäßig auf 60 Sekunden festgelegt sind.
Die maxWaitTimeInSeconds
kann geändert werden, indem sie in der options
an subscribe()
übergeben wird.
processEvents: ProcessEventsHandler
Eigenschaftswert
processInitialize
Die Funktion, die von EventHubConsumerClient
jedes Mal aufgerufen wird, wenn das Abonnement mit dem Lesen aus einer Partition beginnt. Die an diese Funktion übergebene PartitionContext
kann verwendet werden, um zu bestimmen, aus welcher Partition gelesen werden soll.
Der Client empfängt Ereignisse für die Partition erst nach Abschluss der Ausführung dieser Funktion (sofern angegeben). Verwenden Sie daher diese Funktion, um alle Einrichtungsaufgaben einschließlich asynchroner Aufgaben auszuführen.
processInitialize?: ProcessInitializeHandler