SubscriptionEventHandlers interface
Интерфейс, описывающий функции, которые должны быть реализованы пользователем EventHubConsumerClient
, которые вызываются при вызове subscribe()
метода для получения событий из концентратора событий.
Свойства
process |
Функция, вызываемая
|
process |
Функция, вызываемая методом Объект , переданный После завершения выполнения этой функции |
process |
Функция, вызываемая при Метод Примечание. Полученные события могут быть пустым массивом.
Это может произойти, если в ней нет новых событий для получения в |
process |
Функция, вызываемая Клиент начнет получать события для секции только после завершения выполнения этой функции (если это указано). Поэтому используйте эту функцию для выполнения любой работы по настройке, включая асинхронные задачи. |
Сведения о свойстве
processClose
Функция, вызываемая EventHubConsumerClient
каждый раз, когда подписка прекращает чтение событий из секции. Сведения об этой секции будут доступны в объекте , переданном PartitionContext
в функцию processClose
.
CloseReason
Если в эту функцию передается OwnershipLost
значение , то другая подписка переняла чтение из той же секции с использованием той же группы потребителей. Это ожидаемо, если запущено несколько экземпляров приложения и передан клиенту для балансировки CheckpointStore
нагрузки.
CloseReason
Если имеет значение Shutdown
, это означает, что либо subscription.close()
был вызван, либо произошла ошибка. Если подписка не была явно закрыта с помощью subscription.close()
, она попытается возобновить чтение событий из последней контрольной точки для секции.
processClose?: ProcessCloseHandler
Значение свойства
processError
Функция, вызываемая методом EventHubConsumerClient
для ошибок, возникающих при получении событий или при выполнении любой из предоставленных пользователем функций, переданных методу subscribe()
.
Объект , переданный PartitionContext
в эту функцию, будет указывать секцию, которая обрабатывалась при возникновении ошибки. В случаях, когда ошибка возникает вне событий обработки из секции (например, сбой при выполнении балансировки нагрузки), partitionId
в контексте будет пустая строка.
После завершения выполнения этой функции partitionClose
клиентом вызывается функция .
processError: ProcessErrorHandler
Значение свойства
processEvents
Функция, вызываемая при EventHubConsumerClient
получении набора событий. Переданный PartitionContext
в эту функцию объект можно использовать для определения секции, из которой выполняется чтение.
Метод updateCheckpoint()
в контексте можно использовать для обновления контрольных точек в CheckpointStore
(если она была предоставлена клиенту). Используйте его через частые интервалы, чтобы пометить события, которые были обработаны, чтобы клиент смог перезапуститься с таких контрольных точек в случае перезапуска или восстановления ошибок.
Примечание. Полученные события могут быть пустым массивом.
Это может произойти, если в ней нет новых событий для получения в maxWaitTimeInSeconds
, который по умолчанию имеет значение 60 секунд.
Можно maxWaitTimeInSeconds
изменить, задав ему в переданном options
значение subscribe()
.
processEvents: ProcessEventsHandler
Значение свойства
processInitialize
Функция, вызываемая EventHubConsumerClient
каждый раз, когда подписка начинает чтение из секции. Переданный PartitionContext
в эту функцию объект можно использовать для определения того, из какой секции будет считываться.
Клиент начнет получать события для секции только после завершения выполнения этой функции (если это указано). Поэтому используйте эту функцию для выполнения любой работы по настройке, включая асинхронные задачи.
processInitialize?: ProcessInitializeHandler