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
process |
Funktionen som anropas av Om Om |
process |
Funktionen som anropas av Den När klienten har kört den här funktionen anropas funktionen |
process |
Funktionen som anropas av Metoden 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 |
process |
Funktionen som anropas av 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 OwnershipLost
har 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 Shutdown
anger 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