Share via


EventHubsException – .NET

Az EventHubsException akkor aktiválódik, ha egy, az Event Hubsra jellemző művelet hibát okozott, beleértve a szolgáltatáson belüli és az ügyfélre vonatkozó hibákat is.

Kivételadatok

A kivétel a következő környezeti információkat tartalmazza, amelyek segítenek megérteni a hiba kontextusát és relatív súlyosságát.

  • IsTransient: Azonosítja, hogy a kivétel helyreállíthatónak minősül-e. Abban az esetben, ha átmenetinek tekintették, a megfelelő újrapróbálkozási szabályzat már alkalmazva lett, és az újrapróbálkozások sikertelenek voltak.
  • Ok: A hiba jól ismert okainak halmaza, amelyek segítenek kategorizálni és tisztázni a kiváltó okot. Ezek az okok arra szolgálnak, hogy kivételszűrést és más logikát alkalmazzanak a kivételüzenetek szövegének vizsgálatakor, nem lenne ideális. Néhány fő hiba oka a következő:
    • Ügyfél bezárva: Olyan eseményközpont-ügyfél esetén fordul elő, amelyet már bezártak vagy elvettek. Javasoljuk, hogy ellenőrizze az alkalmazás kódját, és győződjön meg arról, hogy az Event Hubs-ügyfélkódtár objektumai a kívánt hatókörben lettek létrehozva és bezárva.
    • Szolgáltatás időtúllépése: Azt jelzi, hogy az Event Hubs szolgáltatás nem válaszolt egy műveletre a várt időtartamon belül. Ezt a problémát átmeneti hálózati vagy szolgáltatási probléma okozhatta. Előfordulhat, hogy az Event Hubs szolgáltatás sikeresen teljesítette a kérést; az állapot nem ismert. Javasoljuk, hogy próbálja meg ellenőrizni az aktuális állapotot, és szükség esetén próbálkozzon újra.
    • Kvóta túllépve: Azt jelzi, hogy túl sok aktív olvasási művelet van egyetlen fogyasztói csoporthoz. Ez a korlát az Event Hubs-névtér szintjétől függ, és előfordulhat, hogy magasabb szintre kell áttérni. Másik lehetőségként létrehozhat további fogyasztói csoportokat, és biztosíthatja, hogy a fogyasztói ügyfelek olvasási száma a korláton belül legyen. További információ: Azure Event Hubs kvóták és korlátok.
    • Túllépte az üzenetméretet: Az eseményadatok egy adott eseményhez és eseményköteghez megengedett maximális méretként. Tartalmazza az esemény adatait, valamint a kapcsolódó metaadatokat és a rendszerterhelést. A hiba elhárításához csökkentse a kötegben küldött események számát, vagy csökkentse az üzenetben szereplő adatok méretét. Mivel a méretkorlátok változhatnak, tekintse meg Azure Event Hubs kvótákat és a konkrétumok korlátait.
    • Fogyasztó leválasztva: Az Event Hub szolgáltatás leválasztott egy fogyasztói ügyfelet az Event Hub-példányról. Ez általában akkor fordul elő, ha egy magasabb tulajdonosi szinttel rendelkező fogyasztó tulajdonjogot érvényesít egy partíció és egy fogyasztói csoport párosítása felett.
    • Nem található erőforrás: Az Event Hubs szolgáltatás nem talált erőforrást, például eseményközpontot, fogyasztói csoportot vagy partíciót. Lehet, hogy törölték, vagy maga az Event Hubs szolgáltatással van probléma.

Kivételek kezelése

Az EventHubException egy adott hiba okára többféleképpen is reagálhat. Az egyik módszer egy kivételszűrő záradék alkalmazása a fogási blokk részeként.

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

Következő lépések

Vannak más kivételek is, amelyek az örökölt cikkben vannak dokumentálva. Némelyikük csak az örökölt Event Hubs .NET-ügyfélkódtárra vonatkozik.