SubscriptionEventHandlers interface
Interfejs opisujący funkcje, które mają być implementowane przez użytkownika, który jest wywoływany przez EventHubConsumerClient
subscribe()
metodę w celu odbierania zdarzeń z centrum zdarzeń.
Właściwości
process |
Funkcja wywoływana za Jeśli przekazana Jeśli parametr |
process |
Funkcja wywoływana przez Przekazana Po zakończeniu wykonywania tej funkcji przez klienta wywoływana |
process |
Funkcja wywoływana przez Metoda Uwaga: istnieje możliwość, że odebrane zdarzenia mają być pustą tablicą.
Może się to zdarzyć, jeśli w elemecie |
process |
Funkcja wywoływana za 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 maxWaitTimeInSeconds
nie 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