Compartir vía


EventHubsException: .NET

Se desencadena una excepción EventHubsException cuando una operación específica de Event Hubs provoca un problema, incluidos los errores en el servicio y específicos del cliente.

Información de la excepción

La excepción incluye la siguiente información contextual para ayudar a comprender el contexto del error y su gravedad relativa.

  • IsTransient: identifica si la excepción se considera recuperable o no. En el caso de que se considerase transitorio, ya se ha aplicado la directiva de reintentos adecuada y los reintentos no hayan producido el resultado esperado.
  • Motivo: proporciona un conjunto de razones conocidas para el error que ayuda a clasificar y aclarar la causa principal. Estas razones están pensadas para permitir la aplicación del filtrado de excepciones y otra lógica cuando la inspección del texto de un mensaje de excepción no sería lo ideal. Algunos motivos de error clave son:
    • Cliente cerrado: Se produce cuando un cliente del centro de eventos ya se ha cerrado o desechado. Se recomienda comprobar el código de la aplicación para asegurarse de que los objetos de la biblioteca cliente de Event Hubs se han creado y cerrado en el ámbito previsto.
    • Tiempo de espera del servicio: indica que el servicio Event Hubs no respondió a una operación en la cantidad de tiempo prevista. Este problema puede deberse a un problema transitorio del servicio o la red. Es posible que el servicio Event Hubs haya completado correctamente la solicitud; el estado es desconocido. Se recomienda intentar comprobar el estado actual y volver a intentarlo si es necesario.
    • Cuota superada: indica que hay demasiadas operaciones de lectura activas para un único grupo de consumidores. Este límite depende del nivel del espacio de nombres de Event Hubs y es posible que sea necesario pasar a un nivel superior. Una alternativa sería crear grupos de consumidores adicionales y garantizar que el número de lecturas de cliente de consumidor de cualquier grupo esté dentro del límite. Para obtener más información, consulte Cuotas y límites de Azure Event Hubs.
    • Tamaño de mensaje superado: datos del evento como un tamaño máximo permitido para un evento individual y un lote de eventos. Incluye los datos del evento, así como los metadatos asociados y la sobrecarga del sistema. Para resolver este error, reduzca el número de eventos enviados en un lote o el tamaño de los datos incluidos en el mensaje. Dado que los límites de tamaño están sujetos a cambios, consulte Cuotas y límites de Azure Event Hubs para obtener información específica.
    • Consumidor desconectado: El servicio del centro de eventos desconectó un cliente de consumidor de la instancia del centro de eventos. Normalmente, se produce cuando un consumidor con un nivel de propietario superior valida la propiedad sobre un emparejamiento de grupo de consumidores y partición.
    • Recurso no encontrado: el servicio Event Hubs no encontró un recurso como un centro de eventos, un grupo de consumidores o una partición. Es posible que se haya eliminado o que exista un problema con el propio servicio Event Hubs.

Control de excepciones

Puede reaccionar a un motivo de error específico para la excepción EventHubException de varias maneras. Una forma consiste en aplicar una cláusula de filtro de excepción como parte del bloque catch.

try
{
    // Read events using the consumer client
}
catch (EventHubsException ex) when 
    (ex.Reason == EventHubsException.FailureReason.ConsumerDisconnected)
{
    // Take action based on a consumer being disconnected
}

Pasos siguientes

Hay otras excepciones que se documentan en el artículo heredado. Algunas de ellas solo se aplican a la biblioteca cliente de .NET de Event Hubs heredada.