Aracılığıyla paylaş


EventHubsException - .NET

Event Hubs'a özgü bir işlem hem hizmet içindeki hem de istemciye özgü hatalar dahil olmak üzere bir soruna neden olduğunda EventHubsException tetikleniyor.

Özel durum bilgileri

Özel durum, hatanın bağlamını ve göreli önem derecesini anlamanıza yardımcı olmak için aşağıdaki bağlamsal bilgileri içerir.

  • IsTransient: Özel durumun kurtarılabilir olarak kabul edilip edilmeyeceğini tanımlar. Geçici olarak kabul edildiği durumlarda, uygun yeniden deneme ilkesi zaten uygulanmış ve yeniden denemeler başarısız olmuştur.
  • Neden: Başarısızlığın kök nedenini kategorilere ayırmaya ve netleştirmeye yardımcı olan iyi bilinen nedenler kümesi sağlar. Bu nedenler, bir özel durum iletisinin metnini incelerken özel durum filtreleme ve diğer mantığın uygulanmasına izin vermek için tasarlanmıştır. Bazı önemli hata nedenleri şunlardır:
    • İstemci Kapatıldı: Zaten kapatılmış veya atılmış bir Olay Hub'ı istemcisi olduğunda gerçekleşir. Event Hubs istemci kitaplığındaki nesnelerin hedeflenen kapsamda oluşturulduğundan ve kapatıldığından emin olmak için uygulama kodunu denetlemenizi öneririz.
    • Hizmet Zaman Aşımı: Event Hubs hizmetinin beklenen süre içinde bir işleme yanıt vermediğini gösterir. Bu sorun geçici bir ağ sorunundan veya hizmet sorunundan kaynaklanıyor olabilir. Event Hubs hizmeti isteği başarıyla tamamlamış veya tamamlamamış olabilir; durumu bilinmiyor. Geçerli durumu doğrulamayı denemeniz ve gerekirse yeniden denemeniz önerilir.
    • Kota Aşıldı: Tek bir tüketici grubu için çok fazla etkin okuma işlemi olduğunu gösterir. Bu sınır Event Hubs ad alanının katmanına bağlıdır ve daha yüksek bir katmana geçmek gerekebilir. Alternatif olarak ek tüketici grupları oluşturabilir ve herhangi bir grup için tüketici istemcisi okuma sayısının sınır dahilinde olduğundan emin olabilirsiniz. Daha fazla bilgi için bkz. Azure Event Hubs kotaları ve sınırları.
    • İleti Boyutu Aşıldı: Olay verileri, hem tek bir olay hem de bir toplu olay için izin verilen en büyük boyut olarak. Olayın verilerini ve ilişkili meta verileri ve sistem ek yükünü içerir. Bu hatayı çözmek için toplu olarak gönderilen olay sayısını azaltın veya iletiye dahil edilen verilerin boyutunu azaltın. Boyut sınırları değiştirilebilir olduğundan, bkz. belirli kotalar ve sınırlar Azure Event Hubs.
    • Tüketici bağlantısı kesildi: Bir tüketici istemcisinin Olay Hub'ı hizmeti tarafından Olay Hub'ı örneğinden bağlantısı kesildi. Genellikle sahip düzeyi daha yüksek olan bir tüketici bir bölüm ve tüketici grubu eşleştirmesi üzerinde sahiplik onayladığında oluşur.
    • Kaynak Bulunamadı: Event Hubs hizmeti olay hub'ı, tüketici grubu veya bölüm gibi bir kaynağı bulamadı. Silinmiş olabilir veya Event Hubs hizmetinin kendisiyle ilgili bir sorun var.

Özel durum işleme

EventHubException için belirli bir hata nedenine çeşitli şekillerde tepki vekleyebilirsiniz. Bunun bir yolu, catch bloğunun parçası olarak bir özel durum filtresi yan tümcesi uygulamaktır.

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

Sonraki adımlar

Eski makalede belgelenen başka özel durumlar da vardır. Bazıları yalnızca eski Event Hubs .NET istemci kitaplığı için geçerlidir.