SubscriptionEventHandlers interface
Интерфейс, описывающий функции, которые будут реализованы пользователем, вызываемыми EventHubConsumerClient при вызове метода subscribe() для получения событий из концентратора событий.
Свойства
| process |
Функция, вызываемая Если Если |
| process |
Функция, вызываемая
После завершения выполнения этой функции клиент вызывает функцию |
| process |
Функция, вызываемая Метод Примечание. Получение событий может быть пустым массивом.
Это может произойти, если в |
| process |
Функция, вызываемая Клиент начнет получать события для секции только после завершения выполнения этой функции (если это указано). Поэтому используйте эту функцию для выполнения любой работы по настройке, включая асинхронные задачи. |
Сведения о свойстве
processClose
Функция, вызываемая EventHubConsumerClient каждый раз, когда подписка перестает читать события из секции. Сведения об этом разделе будут доступны на PartitionContext, переданной функции processClose.
Если CloseReason переданной этой функции OwnershipLost, то другая подписка взяла на себя чтение из той же секции с помощью той же группы потребителей. Это ожидается, если у вас есть несколько экземпляров запущенного приложения и переданы CheckpointStore клиенту в подсистему балансировки нагрузки.
Если CloseReasonShutdown, это означает, что был вызван 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