EventHubsException – .NET

En EventHubsException utlöses när en åtgärd som är specifik för Event Hubs har orsakat ett problem, inklusive både fel i tjänsten och specifika för klienten.

Undantagsinformation

Undantaget innehåller följande sammanhangsberoende information som hjälper dig att förstå kontexten för felet och dess relativa allvarlighetsgrad.

  • IsTransient: Anger om undantaget anses vara återställningsbart eller inte. I de fall där det ansågs vara tillfälligt har lämplig återförsöksprincip redan tillämpats och återförsök misslyckades.
  • Orsak: Innehåller en uppsättning välkända orsaker till felet som hjälper till att kategorisera och klargöra rotorsaken. Dessa orsaker är avsedda att tillåta tillämpning av undantagsfiltrering och annan logik när det inte är idealiskt att granska texten i ett undantagsmeddelande. Några viktiga felorsaker är:
    • Klient stängd: Inträffar när en händelsehubbklient som redan har stängts eller tagits bort. Vi rekommenderar att du kontrollerar programkoden för att säkerställa att objekt från Event Hubs-klientbiblioteket skapas och stängs i det avsedda omfånget.
    • Tidsgräns för tjänst: Anger att Event Hubs-tjänsten inte svarade på en åtgärd inom den förväntade tidsperioden. Det här problemet kan ha orsakats av ett tillfälligt nätverksproblem eller tjänstproblem. Event Hubs-tjänsten kanske eller kanske inte har slutfört begäran. statusen är inte känd. Vi rekommenderar att du försöker verifiera det aktuella tillståndet och försöka igen om det behövs.
    • Kvoten har överskridits: Anger att det finns för många aktiva läsåtgärder för en enskild konsumentgrupp. Den här gränsen beror på nivån för Event Hubs-namnområdet, och du kan behöva flytta till en högre nivå. Ett alternativ är att skapa ytterligare konsumentgrupper och se till att antalet konsumentklientläsningar för en grupp ligger inom gränsen. Mer information finns i Azure Event Hubs kvoter och gränser.
    • Meddelandestorleken har överskridits: Händelsedata som en maximal storlek som tillåts för både en enskild händelse och en batch med händelser. Den innehåller data för händelsen och eventuella associerade metadata och systemomkostnader. Lös det här felet genom att minska antalet händelser som skickas i en batch eller minska storleken på de data som ingår i meddelandet. Eftersom storleksbegränsningar kan komma att ändras kan du läsa mer i Azure Event Hubs kvoter och begränsningar.
    • Konsument frånkopplad: En konsumentklient kopplades från av Event Hub-tjänsten från Event Hub-instansen. Det inträffar vanligtvis när en konsument med en högre ägarnivå hävdar ägarskap över en partitions- och konsumentgruppparkoppling.
    • Resursen hittades inte: Event Hubs-tjänsten kunde inte hitta en resurs, till exempel en händelsehubb, konsumentgrupp eller partition. Det kan ha tagits bort eller att det finns ett problem med själva Event Hubs-tjänsten.

Hantering av undantag

Du kan reagera på en specifik felorsak för EventHubException på flera olika sätt. Ett sätt är att tillämpa en undantagsfiltersats som en del av catch-blocket.

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

Nästa steg

Det finns andra undantag som dokumenteras i den äldre artikeln. Vissa av dem gäller endast för det äldre Event Hubs .NET-klientbiblioteket.