EventHubsException - .NET
Een EventHubsException wordt geactiveerd wanneer een bewerking die specifiek is voor Event Hubs een probleem heeft veroorzaakt, inclusief fouten binnen de service en specifiek voor de client.
Uitzonderingsinformatie
De uitzondering bevat de volgende contextuele informatie om inzicht te krijgen in de context van de fout en de relatieve ernst ervan.
- IsTransient: geeft aan of de uitzondering als herstelbaar wordt beschouwd. In het geval dat het als tijdelijk werd beschouwd, is het juiste beleid voor opnieuw proberen al toegepast en zijn nieuwe pogingen mislukt.
-
Reden: bevat een reeks bekende redenen voor de fout die helpen bij het categoriseren en verduidelijken van de hoofdoorzaak. Deze redenen zijn bedoeld om uitzonderingsfilters en andere logica toe te passen wanneer het inspecteren van de tekst van een uitzonderingsbericht niet ideaal zou zijn. Enkele belangrijke oorzaken van fouten zijn:
- Client gesloten: treedt op wanneer een Event Hub-client al is gesloten of verwijderd. U wordt aangeraden de toepassingscode te controleren om ervoor te zorgen dat objecten uit de Event Hubs-clientbibliotheek worden gemaakt en gesloten in het beoogde bereik.
- Time-out van service: geeft aan dat de Event Hubs-service niet binnen de verwachte tijd op een bewerking heeft gereageerd. Dit probleem kan zijn veroorzaakt door een tijdelijk netwerkprobleem of serviceprobleem. De Event Hubs-service kan de aanvraag al dan niet hebben voltooid; de status is niet bekend. Het is raadzaam om te proberen de huidige status te controleren en het indien nodig opnieuw te proberen.
- Quotum overschreden: geeft aan dat er te veel actieve leesbewerkingen zijn voor één consumentengroep. Deze limiet is afhankelijk van de laag van de Event Hubs-naamruimte en het kan nodig zijn om naar een hogere laag te gaan. Een alternatief is om extra consumentengroepen te maken en ervoor te zorgen dat het aantal leesbewerkingen voor een groep door consumentenclients binnen de limiet valt. Zie quota en limieten Azure Event Hubs voor meer informatie.
- Berichtgrootte overschreden: gebeurtenisgegevens als een maximale grootte die is toegestaan voor zowel een afzonderlijke gebeurtenis als een batch met gebeurtenissen. Het bevat de gegevens van de gebeurtenis, eventuele bijbehorende metagegevens en systeemoverhead. Als u deze fout wilt oplossen, vermindert u het aantal gebeurtenissen dat in een batch wordt verzonden of vermindert u de grootte van de gegevens die in het bericht zijn opgenomen. Omdat groottelimieten kunnen worden gewijzigd, raadpleegt u quota en limieten Azure Event Hubs voor specifieke informatie.
- Verbinding met consument verbroken: een consumentenclient is door de Event Hub-service losgekoppeld van het Event Hub-exemplaar. Dit gebeurt meestal wanneer een consument met een hoger eigenaarsniveau het eigendom van een partitie en een consumentengroep koppelt.
- Resource niet gevonden: de Event Hubs-service kan geen resource vinden, zoals een Event Hub, consumentengroep of partitie. Deze is mogelijk verwijderd of er is een probleem met de Event Hubs-service zelf.
Afhandeling van uitzonderingen
U kunt op verschillende manieren reageren op een specifieke foutreden voor de EventHubException . Een manier is om een uitzonderingsfiltercomponent toe te passen als onderdeel van het catch-blok.
try
{
// Read events using the consumer client
}
catch (EventHubsException ex) when
(ex.Reason == EventHubsException.FailureReason.ConsumerDisconnected)
{
// Take action based on a consumer being disconnected
}
Volgende stappen
Er zijn andere uitzonderingen die worden beschreven in het verouderde artikel. Sommige hiervan zijn alleen van toepassing op de verouderde Event Hubs .NET-clientbibliotheek.