Compartir a través de


SubscriptionEventHandlers interface

Interfaz que describe las funciones que va a implementar el usuario que invoca el EventHubConsumerClient cuando se llama al método subscribe() 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 pasado a la función processClose.

Si el CloseReason pasado 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 el CheckpointStore al cliente para equilibrar la carga.

Si el CloseReason es Shutdown, indica que se llamó a subscription.close() o se produjo un error. A menos que la suscripción se haya cerrado explícitamente a través de subscription.close(), 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 que se pasan al método subscribe().

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, no se puede realizar el equilibrio de carga), el partitionId en el contexto será una cadena vacía.

Una vez que el cliente finaliza la ejecución de esta función, se invoca la función partitionClose.

processEvents

La función invocada por EventHubConsumerClient cuando se recibe un conjunto de eventos. El PartitionContext pasado a esta función se puede usar para determinar qué partición se lee.

El método updateCheckpoint() en el contexto se puede usar para actualizar los puntos de control en el CheckpointStore (si se proporcionó uno al cliente). Úselo en intervalos frecuentes para marcar 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 el maxWaitTimeInSeconds, que tiene como valor predeterminado 60 segundos. El maxWaitTimeInSeconds se puede cambiar estableciendo en el options 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 pasado 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 pasado a la función processClose.

Si el CloseReason pasado 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 el CheckpointStore al cliente para equilibrar la carga.

Si el CloseReason es Shutdown, indica que se llamó a subscription.close() o se produjo un error. A menos que la suscripción se haya cerrado explícitamente a través de subscription.close(), 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 que se pasan al método subscribe().

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, no se puede realizar el equilibrio de carga), el partitionId en el contexto será una cadena vacía.

Una vez que el cliente finaliza la ejecución de esta función, se invoca la función partitionClose.

processError: ProcessErrorHandler

Valor de propiedad

processEvents

La función invocada por EventHubConsumerClient cuando se recibe un conjunto de eventos. El PartitionContext pasado a esta función se puede usar para determinar qué partición se lee.

El método updateCheckpoint() en el contexto se puede usar para actualizar los puntos de control en el CheckpointStore (si se proporcionó uno al cliente). Úselo en intervalos frecuentes para marcar 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 el maxWaitTimeInSeconds, que tiene como valor predeterminado 60 segundos. El maxWaitTimeInSeconds se puede cambiar estableciendo en el options 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 pasado 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