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 vom Event Hub zu empfangen.

Eigenschaften

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 CloseReasonOwnershipLostist, 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 CloseReasonShutdownist, 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.

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.

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 maxWaitTimeInSecondskeine 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.

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.

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 CloseReasonOwnershipLostist, 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 CloseReasonShutdownist, 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 maxWaitTimeInSecondskeine 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

Eigenschaftswert