Dela via


SubscriptionEventHandlers interface

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

Egenskaper

processClose

Funktionen som anropas EventHubConsumerClient varje gång prenumerationen slutar läsa händelser från en partition. Informationen om den här partitionen är tillgänglig för som PartitionContext skickas till funktionen processClose. Om den CloseReason som skickas till den här funktionen är OwnershipLosthar en annan prenumeration tagit över läsningen från samma partition med samma konsumentgrupp. Detta är förväntat om du har flera instanser av ditt program som körs och har skickat CheckpointStore till klienten för belastningsutjämning.

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

processError

Funktionen som anropas av EventHubConsumerClient för fel som inträffar vid mottagning av händelser eller vid körning av någon av de användarfunktioner som skickas till subscribe() metoden. Den PartitionContext som skickas till den här funktionen anger partitionen som bearbetades när felet utlöstes. I fall där ett fel utlöses utanför bearbetningshändelser från en partition (t.ex. om belastningsutjämningen inte utförs) partitionId är kontexten en tom sträng.

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

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äss 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 standard är 60 sekunder. maxWaitTimeInSeconds kan ändras genom att ange den i som options skickas till subscribe().

processInitialize

Funktionen som anropas varje EventHubConsumerClient 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 det finns). Använd därför den här funktionen för att utföra alla installationsarbete, inklusive asynkrona uppgifter.

Egenskapsinformation

processClose

Funktionen som anropas EventHubConsumerClient varje gång prenumerationen slutar läsa händelser från en partition. Informationen om den här partitionen är tillgänglig för som PartitionContext skickas till funktionen processClose. Om den CloseReason som skickas till den här funktionen är OwnershipLosthar en annan prenumeration tagit över läsningen från samma partition med samma konsumentgrupp. Detta är förväntat om du har flera instanser av ditt program som körs och har skickat CheckpointStore till klienten för belastningsutjämning.

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

processClose?: ProcessCloseHandler

Egenskapsvärde

processError

Funktionen som anropas av EventHubConsumerClient för fel som inträffar vid mottagning av händelser eller vid körning av någon av de användarfunktioner som skickas till subscribe() metoden. Den PartitionContext som skickas till den här funktionen anger partitionen som bearbetades när felet utlöstes. I fall där ett fel utlöses utanför bearbetningshändelser från en partition (t.ex. om belastningsutjämningen inte utförs) partitionId är kontexten en tom sträng.

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

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äss 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 standard är 60 sekunder. maxWaitTimeInSeconds kan ändras genom att ange den i som options skickas till subscribe().

processEvents: ProcessEventsHandler

Egenskapsvärde

processInitialize

Funktionen som anropas varje EventHubConsumerClient 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 det finns). Använd därför den här funktionen för att utföra alla installationsarbete, inklusive asynkrona uppgifter.

processInitialize?: ProcessInitializeHandler

Egenskapsvärde