SubscriptionEventHandlers interface
Interfejs opisujący funkcje, które mają być implementowane przez użytkownika, który jest wywoływany przez EventHubConsumerClient
, gdy metoda subscribe()
jest wywoływana w celu odbierania zdarzeń z centrum zdarzeń.
Właściwości
process |
Funkcja wywoływana przez Jeśli Jeśli |
process |
Funkcja wywoływana przez
Po zakończeniu wykonywania tej funkcji przez klienta wywoływana jest funkcja |
process |
Funkcja wywoływana przez Metoda Uwaga: istnieje możliwość, że odebrane zdarzenia mają być pustą tablicą.
Może się tak zdarzyć, jeśli w |
process |
Funkcja wywoływana przez Klient rozpocznie odbieranie zdarzeń dla partycji dopiero po zakończeniu wykonywania tej funkcji (jeśli podano). W związku z tym użyj tej funkcji, aby wykonać każdą pracę instalatora, w tym zadania asynchroniczne. |
Szczegóły właściwości
processClose
Funkcja wywoływana przez EventHubConsumerClient
za każdym razem, gdy subskrypcja zatrzymuje odczytywanie zdarzeń z partycji. Informacje o tej partycji będą dostępne w PartitionContext
przekazane do funkcji processClose
.
Jeśli CloseReason
przekazana 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 w celu równoważenia obciążenia.
Jeśli CloseReason
jest Shutdown
, oznacza to, że wywołano subscription.close()
lub wystąpił błąd. Jeśli subskrypcja nie została jawnie zamknięta za pośrednictwem subscription.close()
, subskrypcja podejmie próbę wznowienia odczytu zdarzeń z ostatniego punktu kontrolnego partycji.
processClose?: ProcessCloseHandler
Wartość właściwości
processError
Funkcja wywoływana przez EventHubConsumerClient
pod kątem błędów występujących podczas odbierania zdarzeń lub wykonywania dowolnego z udostępnionych przez użytkownika funkcji przekazanych do metody subscribe()
.
PartitionContext
przekazana 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 w celu przeprowadzenia równoważenia obciążenia), partitionId
w kontekście będzie pustym ciągiem.
Po zakończeniu wykonywania tej funkcji przez klienta wywoływana jest funkcja partitionClose
.
processError: ProcessErrorHandler
Wartość właściwości
processEvents
Funkcja wywoływana przez EventHubConsumerClient
po odebraniu zestawu zdarzeń. Za pomocą PartitionContext
przekazanej do tej funkcji można określić, z której partycji jest odczytywana.
Metoda updateCheckpoint()
w kontekście może służyć do aktualizowania punktów kontrolnych w CheckpointStore
(jeśli został podany klientowi). Użyj tego 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 błędu.
Uwaga: istnieje możliwość, że odebrane zdarzenia mają być pustą tablicą.
Może się tak zdarzyć, jeśli w maxWaitTimeInSeconds
nie ma żadnych nowych zdarzeń, które są domyślnie ustawione na 60 sekund.
maxWaitTimeInSeconds
można zmienić, ustawiając ją w options
przekazanym do subscribe()
.
processEvents: ProcessEventsHandler
Wartość właściwości
processInitialize
Funkcja wywoływana przez EventHubConsumerClient
za każdym razem, gdy subskrypcja rozpoczyna odczytywanie z partycji. Za pomocą PartitionContext
przekazanej do tej funkcji można określić, 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 użyj tej funkcji, aby wykonać każdą pracę instalatora, w tym zadania asynchroniczne.
processInitialize?: ProcessInitializeHandler