Sdílet prostřednictvím


SubscriptionEventHandlers interface

Rozhraní, které popisuje funkce, které mají být implementovány uživatelem, které jsou vyvolány EventHubConsumerClient , když subscribe() je volána metoda pro příjem událostí z centra událostí.

Vlastnosti

processClose

Funkce vyvolá pokaždé, EventHubConsumerClient když odběr přestane číst události z oddílu. Informace o tomto oddílu budou k dispozici po předání PartitionContext do funkce processClose.

CloseReason Pokud je OwnershipLostpředaná této funkci , pak čtení ze stejného oddílu pomocí stejné skupiny příjemců převzalo jiné předplatné. To se očekává, pokud máte spuštěno více instancí aplikace a předali CheckpointStore jste klientovi nástroj pro vyrovnávání zatížení.

Pokud je CloseReasonShutdown, znamená to, že buď subscription.close() bylo volána, nebo došlo k chybě. Pokud nebylo předplatné explicitně uzavřeno prostřednictvím subscription.close(), pokusí se obnovit čtení událostí z posledního kontrolního bodu pro oddíl.

processError

Funkce vyvolaná pomocí EventHubConsumerClient pro chyby, ke kterým dochází při přijímání událostí nebo při provádění jakékoli funkce poskytnuté uživatelem subscribe() předané metodě.

Předaný PartitionContext této funkci bude označovat oddíl, který se zpracovával, když došlo k chybě. V případech, kdy dojde k chybě mimo zpracování událostí z oddílu (např. selhání při vyrovnávání zatížení), partitionId bude v kontextu prázdný řetězec.

Jakmile klient dokončí provádění této funkce, partitionClose funkce se vyvolá.

processEvents

Funkce vyvolána při EventHubConsumerClient přijetí sady událostí. Pomocí funkce předané PartitionContext této funkci můžete určit, ze kterého oddílu se čte.

Metodu updateCheckpoint() v kontextu lze použít k aktualizaci kontrolních bodů v objektu CheckpointStore (pokud byl poskytnut klientovi). Tuto funkci můžete v častých intervalech použít k označení událostí, které byly zpracovány, aby se klient mohl z těchto kontrolních bodů restartovat v případě restartování nebo obnovení chyby.

Poznámka: Je možné, že přijaté události jsou prázdné pole. K tomu může dojít, pokud nejsou k dispozici žádné nové události, které by bylo možné přijmout v maxWaitTimeInSeconds, který je ve výchozím nastavení nastaven na 60 sekund. Objekt maxWaitTimeInSeconds lze změnit tak, že ho nastavíte options v předané na subscribe().

processInitialize

Funkce vyvolaná EventHubConsumerClient pokaždé, když se předplatné chystá začít číst z oddílu. Pomocí PartitionContext příkazu předaného této funkci můžete určit, ze kterého oddílu se má číst.

Klient začne přijímat události pro oddíl až po dokončení provádění této funkce (pokud je k dispozici). Proto tuto funkci použijte k provedení všech úloh nastavení, včetně asynchronních úloh.

Podrobnosti vlastnosti

processClose

Funkce vyvolá pokaždé, EventHubConsumerClient když odběr přestane číst události z oddílu. Informace o tomto oddílu budou k dispozici po předání PartitionContext do funkce processClose.

CloseReason Pokud je OwnershipLostpředaná této funkci , pak čtení ze stejného oddílu pomocí stejné skupiny příjemců převzalo jiné předplatné. To se očekává, pokud máte spuštěno více instancí aplikace a předali CheckpointStore jste klientovi nástroj pro vyrovnávání zatížení.

Pokud je CloseReasonShutdown, znamená to, že buď subscription.close() bylo volána, nebo došlo k chybě. Pokud nebylo předplatné explicitně uzavřeno prostřednictvím subscription.close(), pokusí se obnovit čtení událostí z posledního kontrolního bodu pro oddíl.

processClose?: ProcessCloseHandler

Hodnota vlastnosti

processError

Funkce vyvolaná pomocí EventHubConsumerClient pro chyby, ke kterým dochází při přijímání událostí nebo při provádění jakékoli funkce poskytnuté uživatelem subscribe() předané metodě.

Předaný PartitionContext této funkci bude označovat oddíl, který se zpracovával, když došlo k chybě. V případech, kdy dojde k chybě mimo zpracování událostí z oddílu (např. selhání při vyrovnávání zatížení), partitionId bude v kontextu prázdný řetězec.

Jakmile klient dokončí provádění této funkce, partitionClose funkce se vyvolá.

processError: ProcessErrorHandler

Hodnota vlastnosti

processEvents

Funkce vyvolána při EventHubConsumerClient přijetí sady událostí. Pomocí funkce předané PartitionContext této funkci můžete určit, ze kterého oddílu se čte.

Metodu updateCheckpoint() v kontextu lze použít k aktualizaci kontrolních bodů v objektu CheckpointStore (pokud byl poskytnut klientovi). Tuto funkci můžete v častých intervalech použít k označení událostí, které byly zpracovány, aby se klient mohl z těchto kontrolních bodů restartovat v případě restartování nebo obnovení chyby.

Poznámka: Je možné, že přijaté události jsou prázdné pole. K tomu může dojít, pokud nejsou k dispozici žádné nové události, které by bylo možné přijmout v maxWaitTimeInSeconds, který je ve výchozím nastavení nastaven na 60 sekund. Objekt maxWaitTimeInSeconds lze změnit tak, že ho nastavíte options v předané na subscribe().

processEvents: ProcessEventsHandler

Hodnota vlastnosti

processInitialize

Funkce vyvolaná EventHubConsumerClient pokaždé, když se předplatné chystá začít číst z oddílu. Pomocí PartitionContext příkazu předaného této funkci můžete určit, ze kterého oddílu se má číst.

Klient začne přijímat události pro oddíl až po dokončení provádění této funkce (pokud je k dispozici). Proto tuto funkci použijte k provedení všech úloh nastavení, včetně asynchronních úloh.

processInitialize?: ProcessInitializeHandler

Hodnota vlastnosti