Dela via


SubscriptionEventHandlers interface

Gränssnitt som beskriver de funktioner som ska implementeras av användaren som anropas av EventHubConsumerClient när metoden subscribe() anropas för att ta emot händelser från Händelsehubb.

Egenskaper

processClose

Funktionen som anropas av EventHubConsumerClient varje gång prenumerationen slutar läsa händelser från en partition. Informationen om den här partitionen kommer att vara tillgänglig på PartitionContext skickas till funktionen processClose.

Om CloseReason skickas till den här funktionen är OwnershipLosthar en annan prenumeration tagit över läsningen från samma partition med samma konsumentgrupp. Detta förväntas om du har flera instanser av ditt program som körs och har skickat CheckpointStore till klienten för belastningsutjämning.

Om CloseReason är Shutdownanger detta att antingen subscription.close() anropades eller så uppstod ett fel. Om inte prenumerationen uttryckligen stängdes via subscription.close()försöker prenumerationen återuppta läsningshändelserna från den senaste kontrollpunkten för partitionen.

processError

Funktionen som anropas av EventHubConsumerClient för fel som inträffar när händelser tas emot eller när någon av de användarfunktioner som tillhandahålls körs skickas till metoden subscribe().

Den PartitionContext som skickas till den här funktionen anger den partition som bearbetades när felet utlöstes. Om ett fel utlöses utanför bearbetningshändelser från en partition (t.ex. om det inte gick att utföra belastningsutjämning) blir partitionId i kontexten en tom sträng.

När klienten har kört den här funktionen anropas funktionen partitionClose.

processEvents

Funktionen som anropas av EventHubConsumerClient när en uppsättning händelser tas emot. Den PartitionContext som skickas till den här funktionen kan användas för att avgöra vilken partition som läse från.

Metoden updateCheckpoint() i kontexten kan användas för att uppdatera kontrollpunkter i CheckpointStore (om en har angetts för klienten). Använd detta i frekventa intervall för att markera händelser som har bearbetats så att klienten kan starta om från sådana kontrollpunkter i händelse av omstart eller felåterställning.

Obs! Det är möjligt att mottagna händelser är en tom matris. Detta kan inträffa om det inte finns några nya händelser att ta emot i maxWaitTimeInSeconds, som är standardvärdet 60 sekunder. Du kan ändra maxWaitTimeInSeconds genom att ange den i options skickas till subscribe().

processInitialize

Funktionen som anropas av EventHubConsumerClient varje gång prenumerationen är på väg att börja läsa från en partition. Den PartitionContext som skickas till den här funktionen kan användas för att avgöra vilken partition som ska läsas från.

Klienten börjar ta emot händelser för partitionen först när du har slutfört körningen av den här funktionen (om den tillhandahålls). Använd därför den här funktionen för att utföra alla installationsarbete, inklusive asynkrona uppgifter.

Egenskapsinformation

processClose

Funktionen som anropas av EventHubConsumerClient varje gång prenumerationen slutar läsa händelser från en partition. Informationen om den här partitionen kommer att vara tillgänglig på PartitionContext skickas till funktionen processClose.

Om CloseReason skickas till den här funktionen är OwnershipLosthar en annan prenumeration tagit över läsningen från samma partition med samma konsumentgrupp. Detta förväntas om du har flera instanser av ditt program som körs och har skickat CheckpointStore till klienten för belastningsutjämning.

Om CloseReason är Shutdownanger detta att antingen subscription.close() anropades eller så uppstod ett fel. Om inte prenumerationen uttryckligen stängdes via subscription.close()försöker prenumerationen återuppta läsningshändelserna från den senaste kontrollpunkten för partitionen.

processClose?: ProcessCloseHandler

Egenskapsvärde

processError

Funktionen som anropas av EventHubConsumerClient för fel som inträffar när händelser tas emot eller när någon av de användarfunktioner som tillhandahålls körs skickas till metoden subscribe().

Den PartitionContext som skickas till den här funktionen anger den partition som bearbetades när felet utlöstes. Om ett fel utlöses utanför bearbetningshändelser från en partition (t.ex. om det inte gick att utföra belastningsutjämning) blir partitionId i kontexten en tom sträng.

När klienten har kört den här funktionen anropas funktionen partitionClose.

processError: ProcessErrorHandler

Egenskapsvärde

processEvents

Funktionen som anropas av EventHubConsumerClient när en uppsättning händelser tas emot. Den PartitionContext som skickas till den här funktionen kan användas för att avgöra vilken partition som läse från.

Metoden updateCheckpoint() i kontexten kan användas för att uppdatera kontrollpunkter i CheckpointStore (om en har angetts för klienten). Använd detta i frekventa intervall för att markera händelser som har bearbetats så att klienten kan starta om från sådana kontrollpunkter i händelse av omstart eller felåterställning.

Obs! Det är möjligt att mottagna händelser är en tom matris. Detta kan inträffa om det inte finns några nya händelser att ta emot i maxWaitTimeInSeconds, som är standardvärdet 60 sekunder. Du kan ändra maxWaitTimeInSeconds genom att ange den i options skickas till subscribe().

processEvents: ProcessEventsHandler

Egenskapsvärde

processInitialize

Funktionen som anropas av EventHubConsumerClient varje gång prenumerationen är på väg att börja läsa från en partition. Den PartitionContext som skickas till den här funktionen kan användas för att avgöra vilken partition som ska läsas från.

Klienten börjar ta emot händelser för partitionen först när du har slutfört körningen av den här funktionen (om den tillhandahålls). Använd därför den här funktionen för att utföra alla installationsarbete, inklusive asynkrona uppgifter.

processInitialize?: ProcessInitializeHandler

Egenskapsvärde