Notatka
Dostęp do tej strony wymaga autoryzacji. Może spróbować zalogować się lub zmienić katalogi.
Dostęp do tej strony wymaga autoryzacji. Możesz spróbować zmienić katalogi.
Zdarzenie EventHubsException jest wyzwalane, gdy operacja specyficzna dla usługi Event Hubs spowodowała problem, w tym zarówno błędy w usłudze, jak i specyficzne dla klienta.
Informacje o wyjątku
Wyjątek zawiera następujące informacje kontekstowe ułatwiające zrozumienie kontekstu błędu i jego względnej ważności.
- IsTransient: określa, czy wyjątek jest uznawany za możliwy do odzyskania, czy nie. W przypadku, gdy została uznana za przejściowa, zastosowano już odpowiednie zasady ponawiania prób, a ponowne próby zakończyły się niepowodzeniem.
-
Przyczyna: Zawiera zestaw dobrze znanych przyczyn niepowodzenia, które pomagają kategoryzować i wyjaśnić główną przyczynę. Te powody mają na celu umożliwienie stosowania filtrowania wyjątków i innej logiki podczas sprawdzania tekstu komunikatu wyjątku nie byłoby idealne. Oto niektóre kluczowe przyczyny awarii:
- Klient zamknięty: występuje, gdy klient centrum zdarzeń, który został już zamknięty lub usunięty. Zalecamy sprawdzenie kodu aplikacji, aby upewnić się, że obiekty z biblioteki klienta usługi Event Hubs są tworzone i zamykane w zamierzonym zakresie.
- Limit czasu usługi: wskazuje, że usługa Event Hubs nie odpowiedziała na operację w oczekiwanym czasie. Ten problem mógł być spowodowany przejściowym problemem z siecią lub problemem z usługą. Usługa Event Hubs może lub nie została pomyślnie ukończona żądania; stan nie jest znany. Zaleca się podjęcie próby zweryfikowania bieżącego stanu i ponowienie próby w razie potrzeby.
- Przekroczono limit przydziału: wskazuje, że istnieje zbyt wiele aktywnych operacji odczytu dla pojedynczej grupy odbiorców. Ten limit zależy od warstwy przestrzeni nazw usługi Event Hubs i może być konieczne przejście do wyższej warstwy. Alternatywą byłoby utworzenie dodatkowych grup odbiorców i upewnienie się, że liczba odczytów klienta odbiorcy dla dowolnej grupy mieści się w limicie. Aby uzyskać więcej informacji, zobacz Azure Event Hubs limity przydziału i limity.
- Przekroczono rozmiar komunikatu: dane zdarzenia jako maksymalny rozmiar dozwolony zarówno dla pojedynczego zdarzenia, jak i partii zdarzeń. Obejmuje ona dane zdarzenia oraz wszelkie skojarzone metadane i obciążenie systemowe. Aby rozwiązać ten błąd, zmniejsz liczbę zdarzeń wysyłanych w partii lub zmniejsz rozmiar danych uwzględnionych w komunikacie. Ponieważ limity rozmiaru mogą ulec zmianie, zobacz Azure Event Hubs limity przydziału i limity dla określonych elementów.
- Użytkownik odłączony: klient odbiorcy został odłączony od usługi Event Hub z wystąpieniem centrum zdarzeń. Zwykle występuje, gdy użytkownik z wyższym poziomem właściciela potwierdza własność w przypadku parowania partycji i grupy odbiorców.
- Nie znaleziono zasobu: usługa Event Hubs nie może odnaleźć zasobu, takiego jak centrum zdarzeń, grupa odbiorców lub partycja. Mogła zostać usunięta lub wystąpił problem z samą usługą Event Hubs.
Obsługa wyjątków
Możesz zareagować na konkretną przyczynę błędu zdarzenia EventHubException na kilka sposobów. Jednym ze sposobów jest zastosowanie klauzuli filtru wyjątku w ramach bloku przechwytywania.
try
{
// Read events using the consumer client
}
catch (EventHubsException ex) when
(ex.Reason == EventHubsException.FailureReason.ConsumerDisconnected)
{
// Take action based on a consumer being disconnected
}
Następne kroki
Istnieją inne wyjątki udokumentowane w starszym artykule. Niektóre z nich dotyczą tylko starszej biblioteki klienta platformy .NET usługi Event Hubs.