Freigeben über


SubscriptionEventHandlers interface

Schnittstelle, die die vom Benutzer zu implementierenden Funktionen beschreibt, die vom EventHubConsumerClient aufgerufen werden, wenn die subscribe() -Methode aufgerufen wird, um Ereignisse von Event Hub zu empfangen.

Eigenschaften

processClose

Die Funktion, die von jedem Mal aufgerufen wird, wenn das Abonnement das Lesen von EventHubConsumerClient Ereignissen aus einer Partition beendet. Die Informationen zu dieser Partition sind auf der verfügbar, die PartitionContext an die Funktion processCloseübergeben wird.

Wenn die CloseReason an diese Funktion übergeben wird OwnershipLost, hat ein anderes Abonnement das Lesen aus derselben Partition mit derselben Consumergruppe übernommen. Dies wird erwartet, wenn mehrere Instanzen Ihrer Anwendung ausgeführt werden und sie an den Client übergeben haben, um einen CheckpointStore Lastenausgleich zu erstellen.

Wenn auf CloseReason festgelegt ist Shutdown, gibt dies an, dass entweder subscription.close() aufgerufen oder ein Fehler aufgetreten ist. Sofern das Abonnement nicht explizit über subscription.close()geschlossen wurde, versucht das Abonnement, Die Leseereignisse vom letzten Prüfpunkt für die Partition fortzusetzen.

processError

Die Von aufgerufene EventHubConsumerClient Funktion für Fehler, die beim Empfangen von Ereignissen oder beim Ausführen einer der vom Benutzer bereitgestellten Funktionen auftreten, die an die subscribe() -Methode übergeben wurden.

Die PartitionContext an diese Funktion übergebene gibt die Partition an, die verarbeitet wurde, als der Fehler ausgelöst wurde. In Fällen, in denen ein Fehler außerhalb der Verarbeitung von Ereignissen von einer Partition ausgelöst wird (z. B. fehler beim Ausführen eines Lastenausgleichs), ist die partitionId im Kontext eine leere Zeichenfolge.

Nachdem der Client die Ausführung dieser Funktion abgeschlossen hat, wird die partitionClose Funktion aufgerufen.

processEvents

Die Funktion, die von EventHubConsumerClient aufgerufen wird, wenn eine Reihe von Ereignissen empfangen wird. Die PartitionContext an diese Funktion übergebene 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 diese In regelmäßigen Abständen, um verarbeitete Ereignisse zu markieren, sodass der Client im Falle eines Neustarts oder einer Fehlerwiederherstellung von solchen Prüfpunkten neu gestartet werden kann.

Hinweis: Es ist möglich, dass empfangene Ereignisse ein leeres Array sind. Dies kann passieren, wenn keine neuen Ereignisse in empfangen werden, was maxWaitTimeInSecondsstandardmäßig auf 60 Sekunden festgelegt ist. Die maxWaitTimeInSeconds kann geändert werden, indem Sie es in der options an übergebenen subscribe()festlegen.

processInitialize

Die Funktion wird von EventHubConsumerClient jedes Mal aufgerufen, wenn das Abonnement mit dem Lesen aus einer Partition beginnt. Die PartitionContext an diese Funktion übergebene kann verwendet werden, um zu bestimmen, aus welcher Partition gelesen werden soll.

Der Client empfängt Erst nach Abschluss der Ausführung dieser Funktion (sofern angegeben) Ereignisse für die Partition. Verwenden Sie daher diese Funktion, um Setupaufgaben auszuführen, einschließlich asynchroner Aufgaben.

Details zur Eigenschaft

processClose

Die Funktion, die von jedem Mal aufgerufen wird, wenn das Abonnement das Lesen von EventHubConsumerClient Ereignissen aus einer Partition beendet. Die Informationen zu dieser Partition sind auf der verfügbar, die PartitionContext an die Funktion processCloseübergeben wird.

Wenn die CloseReason an diese Funktion übergeben wird OwnershipLost, hat ein anderes Abonnement das Lesen aus derselben Partition mit derselben Consumergruppe übernommen. Dies wird erwartet, wenn mehrere Instanzen Ihrer Anwendung ausgeführt werden und sie an den Client übergeben haben, um einen CheckpointStore Lastenausgleich zu erstellen.

Wenn auf CloseReason festgelegt ist Shutdown, gibt dies an, dass entweder subscription.close() aufgerufen oder ein Fehler aufgetreten ist. Sofern das Abonnement nicht explizit über subscription.close()geschlossen wurde, versucht das Abonnement, Die Leseereignisse vom letzten Prüfpunkt für die Partition fortzusetzen.

processClose?: ProcessCloseHandler

Eigenschaftswert

processError

Die Von aufgerufene EventHubConsumerClient Funktion für Fehler, die beim Empfangen von Ereignissen oder beim Ausführen einer der vom Benutzer bereitgestellten Funktionen auftreten, die an die subscribe() -Methode übergeben wurden.

Die PartitionContext an diese Funktion übergebene gibt die Partition an, die verarbeitet wurde, als der Fehler ausgelöst wurde. In Fällen, in denen ein Fehler außerhalb der Verarbeitung von Ereignissen von einer Partition ausgelöst wird (z. B. fehler beim Ausführen eines 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 PartitionContext an diese Funktion übergebene 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 diese In regelmäßigen Abständen, um verarbeitete Ereignisse zu markieren, sodass der Client im Falle eines Neustarts oder einer Fehlerwiederherstellung von solchen Prüfpunkten neu gestartet werden kann.

Hinweis: Es ist möglich, dass empfangene Ereignisse ein leeres Array sind. Dies kann passieren, wenn keine neuen Ereignisse in empfangen werden, was maxWaitTimeInSecondsstandardmäßig auf 60 Sekunden festgelegt ist. Die maxWaitTimeInSeconds kann geändert werden, indem Sie es in der options an übergebenen subscribe()festlegen.

processEvents: ProcessEventsHandler

Eigenschaftswert

processInitialize

Die Funktion wird von EventHubConsumerClient jedes Mal aufgerufen, wenn das Abonnement mit dem Lesen aus einer Partition beginnt. Die PartitionContext an diese Funktion übergebene kann verwendet werden, um zu bestimmen, aus welcher Partition gelesen werden soll.

Der Client empfängt Erst nach Abschluss der Ausführung dieser Funktion (sofern angegeben) Ereignisse für die Partition. Verwenden Sie daher diese Funktion, um Setupaufgaben auszuführen, einschließlich asynchroner Aufgaben.

processInitialize?: ProcessInitializeHandler

Eigenschaftswert