Sdílet prostřednictvím


EventHubsException – .NET

Výjimka EventHubsException se aktivuje v případě, že problém způsobila operace specifická pro službu Event Hubs, včetně chyb v rámci služby i chyb specifických pro klienta.

Informace o výjimce

Výjimka obsahuje následující kontextové informace, které vám pomůžou porozumět kontextu chyby a její relativní závažnosti.

  • IsTransient: Určuje, jestli je výjimka považována za obnovitelnou nebo ne. V případě, že se tato zásada považovala za přechodná, už se použila příslušná zásada opakování a opakování bylo neúspěšné.
  • Důvod: Poskytuje sadu dobře známých důvodů selhání, které pomáhají kategorizovat a objasnit původní příčinu. Tyto důvody mají umožnit použití filtrování výjimek a další logiky při kontrole textu zprávy o výjimce by nebylo ideální. Mezi klíčové důvody selhání patří:
    • Klient je zavřený: K této chybě dochází v případě, že je klient centra událostí již zavřený nebo uvolněný. Doporučujeme zkontrolovat kód aplikace a ujistit se, že se objekty z klientské knihovny služby Event Hubs vytvářejí a zavírají v zamýšleném oboru.
    • Vypršení časového limitu služby: Označuje, že služba Event Hubs nereagovala na operaci v očekávaném čase. Příčinou tohoto problému může být přechodný problém se sítí nebo problém se službou. Služba Event Hubs může nebo nemusí úspěšně dokončit požadavek. stav není známý. Doporučujeme zkusit ověřit aktuální stav a v případě potřeby to zkusit znovu.
    • Překročení kvóty: Označuje, že existuje příliš mnoho aktivních operací čtení pro jednu skupinu příjemců. Tento limit závisí na úrovni oboru názvů služby Event Hubs a může být potřeba přejít na vyšší úroveň. Alternativou je vytvořit další skupiny příjemců a zajistit, aby počet čtení příjemců pro libovolnou skupinu byl v mezích limitu. Další informace najdete v tématu Azure Event Hubs kvót a omezení.
    • Velikost zprávy byla překročena: Maximální velikost dat událostí je povolená pro jednotlivé události i dávku událostí. Zahrnuje data události a všechna související metadata a režijní náklady na systém. Pokud chcete tuto chybu vyřešit, snižte počet událostí odeslaných v dávce nebo zmenšete velikost dat obsažených ve zprávě. Vzhledem k tomu, že se omezení velikosti můžou změnit, přečtěte si článek o Azure Event Hubs kvót a omezení, kde najdete podrobnosti.
    • Odpojený příjemce: Služba centra událostí odpojila klienta příjemce od instance centra událostí. Obvykle k tomu dochází, když příjemce s vyšší úrovní vlastníka potvrzuje vlastnictví párování oddílu a skupiny příjemců.
    • Prostředek se nenašel: Službě Event Hubs se nepodařilo najít prostředek, jako je centrum událostí, skupina příjemců nebo oddíl. Je možné, že došlo k odstranění nebo došlo k problému se samotnou službou Event Hubs.

Zpracování výjimek

Na konkrétní důvod selhání pro EventHubException můžete reagovat několika způsoby. Jedním ze způsobů je použití klauzule filtru výjimek v rámci bloku 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
}

Další kroky

Existují další výjimky, které jsou popsány ve starší verzi článku. Některé z nich platí jenom pro starší klientskou knihovnu Event Hubs .NET.