Udostępnij za pośrednictwem


SubscriptionEventHandlers interface

Interfejs opisujący funkcje, które mają być implementowane przez użytkownika, który jest wywoływany przez EventHubConsumerClientsubscribe() metodę w celu odbierania zdarzeń z centrum zdarzeń.

Właściwości

processClose

Funkcja wywoływana za EventHubConsumerClient każdym razem, gdy subskrypcja przestaje odczytywać zdarzenia z partycji. Informacje o tej partycji będą dostępne w przekazanym PartitionContext do funkcji processClose.

Jeśli przekazana CloseReason do tej funkcji jest OwnershipLost, inna subskrypcja przejęła odczyt z tej samej partycji przy użyciu tej samej grupy odbiorców. Jest to oczekiwane, jeśli masz uruchomione wiele wystąpień aplikacji i przekazano CheckpointStore klientowi moduł równoważenia obciążenia.

Jeśli parametr CloseReason to Shutdown, oznacza to, że subscription.close() został wywołany lub wystąpił błąd. Jeśli subskrypcja nie została jawnie zamknięta za pośrednictwem usługi subscription.close(), subskrypcja podejmie próbę wznowienia odczytywania zdarzeń z ostatniego punktu kontrolnego partycji.

processError

Funkcja wywoływana przez EventHubConsumerClient błędy występujące podczas odbierania zdarzeń lub wykonywania dowolnych funkcji udostępnionych przez użytkownika przekazanych do subscribe() metody.

Przekazana PartitionContext do tej funkcji będzie wskazywać partycję, która została przetworzona podczas zgłaszania błędu. W przypadkach, gdy błąd jest zgłaszany poza przetwarzaniem zdarzeń z partycji (np. niepowodzenie wykonywania równoważenia obciążenia), partitionId kontekst będzie pustym ciągiem.

Po zakończeniu wykonywania tej funkcji przez klienta wywoływana partitionClose jest funkcja.

processEvents

Funkcja wywoływana przez EventHubConsumerClient odebranie zestawu zdarzeń. Przekazana PartitionContext do tej funkcji może służyć do określenia, z której partycji jest odczytywana.

Metoda updateCheckpoint() w kontekście może służyć do aktualizowania punktów kontrolnych w obiekcie CheckpointStore (jeśli został udostępniony klientowi). Użyj tej funkcji w częstych odstępach czasu, aby oznaczyć zdarzenia, które zostały przetworzone, aby klient mógł ponownie uruchomić z takich punktów kontrolnych w przypadku ponownego uruchomienia lub odzyskiwania po błędzie.

Uwaga: istnieje możliwość, że odebrane zdarzenia mają być pustą tablicą. Może się to zdarzyć, jeśli w elemecie maxWaitTimeInSecondsnie będą odbierane żadne nowe zdarzenia, które są domyślnie 60 sekund. Element maxWaitTimeInSeconds można zmienić, ustawiając go w przekazanym options na subscribe()wartość .

processInitialize

Funkcja wywoływana za EventHubConsumerClient każdym razem, gdy subskrypcja rozpoczyna odczytywanie z partycji. Przekazana PartitionContext do tej funkcji może służyć do określenia, z której partycji ma zostać odczytany.

Klient rozpocznie odbieranie zdarzeń dla partycji dopiero po zakończeniu wykonywania tej funkcji (jeśli podano). W związku z tym ta funkcja służy do wykonywania wszelkich zadań konfiguracyjnych, w tym zadań asynchronicznych.

Szczegóły właściwości

processClose

Funkcja wywoływana za EventHubConsumerClient każdym razem, gdy subskrypcja przestaje odczytywać zdarzenia z partycji. Informacje o tej partycji będą dostępne w przekazanym PartitionContext do funkcji processClose.

Jeśli przekazana CloseReason do tej funkcji jest OwnershipLost, inna subskrypcja przejęła odczyt z tej samej partycji przy użyciu tej samej grupy odbiorców. Jest to oczekiwane, jeśli masz uruchomione wiele wystąpień aplikacji i przekazano CheckpointStore klientowi moduł równoważenia obciążenia.

Jeśli parametr CloseReason to Shutdown, oznacza to, że subscription.close() został wywołany lub wystąpił błąd. Jeśli subskrypcja nie została jawnie zamknięta za pośrednictwem usługi subscription.close(), subskrypcja podejmie próbę wznowienia odczytywania zdarzeń z ostatniego punktu kontrolnego partycji.

processClose?: ProcessCloseHandler

Wartość właściwości

processError

Funkcja wywoływana przez EventHubConsumerClient błędy występujące podczas odbierania zdarzeń lub wykonywania dowolnych funkcji udostępnionych przez użytkownika przekazanych do subscribe() metody.

Przekazana PartitionContext do tej funkcji będzie wskazywać partycję, która została przetworzona podczas zgłaszania błędu. W przypadkach, gdy błąd jest zgłaszany poza przetwarzaniem zdarzeń z partycji (np. niepowodzenie wykonywania równoważenia obciążenia), partitionId kontekst będzie pustym ciągiem.

Po zakończeniu wykonywania tej funkcji przez klienta wywoływana partitionClose jest funkcja.

processError: ProcessErrorHandler

Wartość właściwości

processEvents

Funkcja wywoływana przez EventHubConsumerClient odebranie zestawu zdarzeń. Przekazana PartitionContext do tej funkcji może służyć do określenia, z której partycji jest odczytywana.

Metoda updateCheckpoint() w kontekście może służyć do aktualizowania punktów kontrolnych w obiekcie CheckpointStore (jeśli został udostępniony klientowi). Użyj tej funkcji w częstych odstępach czasu, aby oznaczyć zdarzenia, które zostały przetworzone, aby klient mógł ponownie uruchomić z takich punktów kontrolnych w przypadku ponownego uruchomienia lub odzyskiwania po błędzie.

Uwaga: istnieje możliwość, że odebrane zdarzenia mają być pustą tablicą. Może się to zdarzyć, jeśli w elemecie maxWaitTimeInSecondsnie będą odbierane żadne nowe zdarzenia, które są domyślnie 60 sekund. Element maxWaitTimeInSeconds można zmienić, ustawiając go w przekazanym options na subscribe()wartość .

processEvents: ProcessEventsHandler

Wartość właściwości

processInitialize

Funkcja wywoływana za EventHubConsumerClient każdym razem, gdy subskrypcja rozpoczyna odczytywanie z partycji. Przekazana PartitionContext do tej funkcji może służyć do określenia, z której partycji ma zostać odczytany.

Klient rozpocznie odbieranie zdarzeń dla partycji dopiero po zakończeniu wykonywania tej funkcji (jeśli podano). W związku z tym ta funkcja służy do wykonywania wszelkich zadań konfiguracyjnych, w tym zadań asynchronicznych.

processInitialize?: ProcessInitializeHandler

Wartość właściwości