Compartir a través de


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

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.

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 .

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 , maxWaitTimeInSecondsque tiene como valor predeterminado 60 segundos. maxWaitTimeInSeconds Se puede cambiar estableciendo en el options objeto pasado a subscribe().

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.

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 , maxWaitTimeInSecondsque 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

Valor de propiedad