SubscriptionEventHandlers interface
Interfaz que describe las funciones que va a implementar el usuario que invoca EventHubConsumerClient
cuando se llama al subscribe()
método para recibir eventos del Centro de eventos.
Propiedades
process |
La función invocada por Si la
|
process |
La función invocada por El Una vez que el cliente finaliza la ejecución de esta función, se invoca la |
process |
Función invocada por El Nota: Es posible que los eventos recibidos sean una matriz vacía.
Esto puede ocurrir si no hay ningún evento nuevo que recibir en , |
process |
La función invocada por El cliente comenzará a recibir eventos para la partición solo después de completar la ejecución de esta función (si se proporciona). Por lo tanto, use esta función para llevar a cabo cualquier trabajo de configuración, incluidas las tareas asincrónicas. |
Detalles de las propiedades
processClose
La función invocada por EventHubConsumerClient
cada vez que la suscripción deja de leer eventos de una partición. La información de esta partición estará disponible en el PartitionContext
objeto pasado a la función processClose
.
Si la CloseReason
que se pasa a esta función es OwnershipLost
, otra suscripción ha tomado el control de lectura de la misma partición mediante el mismo grupo de consumidores. Esto se espera si tiene varias instancias de la aplicación en ejecución y ha pasado al CheckpointStore
cliente para equilibrar la carga.
CloseReason
Si es Shutdown
, esto indica que subscription.close()
se llamó a o se produjo un error. A menos que la suscripción se cerrara explícitamente a través subscription.close()
de , la suscripción intentará reanudar la lectura de eventos desde el último punto de control de la partición.
processClose?: ProcessCloseHandler
Valor de propiedad
processError
La función invocada por EventHubConsumerClient
para los errores que se producen al recibir eventos o al ejecutar cualquiera de las funciones proporcionadas por el usuario pasadas al subscribe()
método .
El PartitionContext
pasado a esta función indicará la partición que se estaba procesando cuando se produjo el error. En los casos en los que se produce un error fuera de los eventos de procesamiento de una partición (por ejemplo, un error al realizar el equilibrio de carga), en partitionId
el contexto será una cadena vacía.
Una vez que el cliente finaliza la ejecución de esta función, se invoca la partitionClose
función .
processError: ProcessErrorHandler
Valor de propiedad
processEvents
Función invocada por EventHubConsumerClient
cuando se recibe un conjunto de eventos. El PartitionContext
que se pasa a esta función se puede usar para determinar de qué partición se lee.
El updateCheckpoint()
método del contexto se puede usar para actualizar los puntos de control en CheckpointStore
(si se proporcionó uno al cliente). Úselo en intervalos frecuentes para marcar los eventos que se han procesado para que el cliente pueda reiniciarse desde estos puntos de control en caso de reinicio o recuperación de errores.
Nota: Es posible que los eventos recibidos sean una matriz vacía.
Esto puede ocurrir si no hay ningún evento nuevo que recibir en , maxWaitTimeInSeconds
que tiene como valor predeterminado 60 segundos.
maxWaitTimeInSeconds
Se puede cambiar estableciendo en el options
objeto pasado a subscribe()
.
processEvents: ProcessEventsHandler
Valor de propiedad
processInitialize
La función invocada por EventHubConsumerClient
cada vez que la suscripción está a punto de empezar a leer desde una partición. El PartitionContext
que se pasa a esta función se puede usar para determinar qué partición está a punto de leerse.
El cliente comenzará a recibir eventos para la partición solo después de completar la ejecución de esta función (si se proporciona). Por lo tanto, use esta función para llevar a cabo cualquier trabajo de configuración, incluidas las tareas asincrónicas.
processInitialize?: ProcessInitializeHandler