Dela via


@azure/event-hubs package

Klasser

EventHubBufferedProducerClient

EventHubBufferedProducerClientAnvänds för att publicera händelser till en specifik händelsehubb.

EventHubBufferedProducerClient Publicerar inte händelser omedelbart. I stället buffrar vi händelser så att de effektivt kan batchköras och publiceras när batchen är full eller maxWaitTimeInMs har förflutit utan att nya händelser har angetts.

Beroende på vilka alternativ som anges när händelser sparas kan de automatiskt tilldelas till en partition, grupperas enligt den angivna partitionsnyckeln eller tilldelas en specifikt begärd partition.

Den här modellen är avsedd att flytta belastningen på batchhantering från anropare, på bekostnad av icke-deterministisk tidsinställning, för när händelser kommer att publiceras. Det finns även ytterligare kompromisser att tänka på:

  • Om programmet kraschar har händelser i bufferten inte publicerats. För att förhindra dataförlust uppmuntras anropare att spåra publiceringsförloppet med hjälp av onSendEventsSuccessHandler hanteraren och onSendEventsErrorHandler .
  • Händelser som anger en partitionsnyckel kan tilldelas en annan partition än de som använder samma nyckel med andra producenter.
  • I det osannolika fallet att en partition blir tillfälligt otillgänglig kan det EventHubBufferedProducerClient ta längre tid att återställa än andra producenter.

I scenarier där det är viktigt att händelser publiceras omedelbart med ett deterministiskt resultat ska du se till att partitionsnycklar tilldelas till en partition som överensstämmer med andra utgivare, eller där det rekommenderas att maximera tillgängligheten EventHubProducerClient .

EventHubConsumerClient

Klassen EventHubConsumerClient används för att använda händelser från en händelsehubb.

Det finns flera sätt att skapa en EventHubConsumerClient

  • Använd anslutningssträng från SAS-principen som skapats för din Event Hub-instans.
  • Använd anslutningssträng från SAS-principen som skapats för händelsehubbens namnområde och namnet på Event Hub-instansen
  • Använd det fullständiga namnområdet, till exempel <yournamespace>.servicebus.windows.net, och ett objekt för autentiseringsuppgifter.

Du kan också skicka:

  • En alternativuppsättning för att konfigurera återförsöksprincipen eller proxyinställningarna.
  • Ett kontrollpunktsarkiv som används av klienten för att läsa kontrollpunkter för att fastställa varifrån det ska återuppta mottagandet av händelser när programmet startas om. Kontrollpunktsarkivet används också av klienten för att belastningsutjämning av flera instanser av ditt program.
EventHubProducerClient

Klassen EventHubProducerClient används för att skicka händelser till en händelsehubb.

Det finns flera sätt att skapa en EventHubProducerClient

  • Använd anslutningssträng från SAS-principen som skapats för din Event Hub-instans.
  • Använd anslutningssträng från SAS-principen som skapats för händelsehubbens namnområde och namnet på Event Hub-instansen
  • Använd det fullständiga namnområdet, till exempel <yournamespace>.servicebus.windows.net, och ett objekt för autentiseringsuppgifter.

Du kan också skicka en alternativpåse för att konfigurera återförsöksprincipen eller proxyinställningarna.

MessagingError

Beskriver basklassen för meddelandefel.

Gränssnitt

BufferedCloseOptions

Alternativ för att konfigurera close metoden på EventHubBufferedProducerClient.

BufferedFlushOptions

Alternativ för att konfigurera flush metoden på EventHubBufferedProducerClient.

Checkpoint

En kontrollpunkt är avsedd att representera den senast bearbetade händelsen av användaren från en viss partition av en konsumentgrupp i en Event Hub-instans.

updateCheckpoint() När metoden i PartitionProcessor klassen anropas av användaren skapas en Checkpoint internt. Den lagras sedan i lagringslösningen som implementeras av användaren CheckpointManager när du skapar en EventProcessor.

Användare förväntas aldrig interagera med Checkpoint direkt. Det här gränssnittet finns för att stödja interna funktioner EventProcessor i och CheckpointManager.

CheckpointStore

Ett kontrollpunktslager lagrar och hämtar information om partitionsägarskap och kontrollpunktsinformation för varje partition i en viss konsumentgrupp för en händelsehubbinstans.

Användare är inte avsedda att implementera en CheckpointStore. Användarna förväntas välja befintliga implementeringar av det här gränssnittet, instansiera det och skicka det till EventHubConsumerClient klasskonstruktorn när de instansierar en klient. Användarna förväntas inte använda någon av metoderna i ett kontrollpunktsarkiv. Dessa används internt av klienten.

Implementeringar av CheckpointStore finns på npm genom att söka efter paket med prefixet @azure/eventhub-checkpointstore-.

CreateBatchOptions

Alternativ för att konfigurera createBatch metoden på EventHubProducerClient.

  • partitionKey : Ett värde som hashas för att skapa en partitionstilldelning.
  • maxSizeInBytes: Den övre gränsen för batchstorleken.
  • abortSignal : En signal på begäran om att avbryta sändningsåtgärden.

Exempel på användning:

{
    partitionKey: 'foo',
    maxSizeInBytes: 1024 * 1024 // 1 MB
}
EnqueueEventOptions

Alternativ för att konfigurera enqueueEvents metoden på EventHubBufferedProducerClient.

EventData

Gränssnittet som beskriver de data som ska skickas till Event Hub. Använd detta som referens när du skapar objektet som ska skickas när du använder EventHubProducerClient. Till exempel, { body: "your-data" } eller

{
   body: "your-data",
   properties: {
      propertyName: "property value"
   }
}
EventDataAdapterParameters

Parametrar till funktionen createEventDataAdapter som skapar ett händelsedatakort.

EventDataBatch

Ett gränssnitt som representerar en batch med händelser som kan användas för att skicka händelser till händelsehubben.

Om du vill skapa batchen createBatch() använder du -metoden på EventHubProducerClient. Om du vill skicka batchen sendBatch() använder du metoden på samma klient. Om du vill fylla batchen använder du tryAdd() metoden på själva batchen.

EventHubBufferedProducerClientOptions

Beskriver de alternativ som kan anges när du skapar EventHubBufferedProducerClient.

EventHubClientOptions

Beskriver de alternativ som kan anges när du skapar EventHubClient.

  • userAgent : En sträng som ska läggas till i den inbyggda användaragentsträngen som skickas som en anslutningsegenskap till tjänsten.
  • webSocketOptions : Alternativ för att konfigurera kanalisering av AMQP-anslutningen via Web Sockets.
    • websocket : WebSocket-konstruktorn som används för att skapa en AMQP-anslutning om du väljer att upprätta anslutningen via en WebSocket.
    • webSocketConstructorOptions : Alternativ för att skicka till Websocket-konstruktorn när du väljer att upprätta anslutningen via en WebSocket.
  • retryOptions : Återförsöksalternativen för alla åtgärder på klienten/producenten/konsumenten.
    • maxRetries : Hur många gånger åtgärden kan utföras på nytt om det uppstår ett nytt försöksfel.
    • maxRetryDelayInMs: Den maximala fördröjningen mellan återförsök. Gäller endast när exponentiella återförsök utförs.
    • mode: Vilket återförsöksläge som ska tillämpas, som anges av RetryMode uppräkningen. Alternativen är Exponential och Fixed. Standardvärdet är Fixed.
    • retryDelayInMs: Hur lång tid det tar att vänta i millisekunder innan du gör nästa försök. När mode är inställt på Exponentialanvänds detta för att beräkna exponentiellt ökande fördröjningar mellan återförsök. Standard: 3 0000 millisekunder.
    • timeoutInMs: Tid i millisekunder att vänta innan åtgärden överskrider tidsgränsen. Detta utlöser ett nytt försök om det finns några återförsök kvar. Standardvärde: 6 0000 millisekunder.

En enkel användning kan vara { "maxRetries": 4 }.

Exempel på användning:

{
    retryOptions: {
        maxRetries: 4
    }
}
EventHubConnectionStringProperties

Den uppsättning egenskaper som utgör en Event Hub-anslutningssträng.

EventHubConsumerClientOptions

Beskriver de alternativ som kan anges när du skapar EventHubConsumerClient.

  • loadBalancingOptions: Alternativ för att justera hur EventHubConsumerClient gör anspråk på partitioner.
  • userAgent : En sträng som ska läggas till i den inbyggda användaragentsträngen som skickas som en anslutningsegenskap till tjänsten.
  • webSocketOptions : Alternativ för att konfigurera kanalisering av AMQP-anslutningen via Web Sockets.
    • websocket : WebSocket-konstruktorn som används för att skapa en AMQP-anslutning om du väljer att upprätta anslutningen via en WebSocket.
    • webSocketConstructorOptions : Alternativ för att skicka till Websocket-konstruktorn när du väljer att upprätta anslutningen via en WebSocket.
  • retryOptions : Återförsöksalternativen för alla åtgärder på klienten/producenten/konsumenten.
    • maxRetries : Hur många gånger åtgärden kan utföras på nytt om det uppstår ett nytt försöksfel.
    • maxRetryDelayInMs: Den maximala fördröjningen mellan återförsök. Gäller endast när exponentiella återförsök utförs.
    • mode: Vilket återförsöksläge som ska tillämpas, som anges av RetryMode uppräkningen. Alternativen är Exponential och Fixed. Standardvärdet är Fixed.
    • retryDelayInMs: Hur lång tid det tar att vänta i millisekunder innan du gör nästa försök. När mode är inställt på Exponentialanvänds detta för att beräkna exponentiellt ökande fördröjningar mellan återförsök. Standard: 3 0000 millisekunder.
    • timeoutInMs: Tid i millisekunder att vänta innan åtgärden överskrider tidsgränsen. Detta utlöser ett nytt försök om det finns några återförsök kvar. Standardvärde: 6 0000 millisekunder.

En enkel användning kan vara { "maxRetries": 4 }.

Exempel på användning:

{
    retryOptions: {
        maxRetries: 4
    }
}
EventHubProperties

Beskriver körningsinformationen för en händelsehubb.

EventPosition

Representerar positionen för en händelse i en händelsehubbpartition, som vanligtvis används när metoden anropas subscribe() på en EventHubConsumerClient för att ange positionen i partitionen som händelser ska börja tas emot från.

Om du vill hämta en EventPosition som representerar början eller slutet av dataströmmen använder du konstanterna earliestEventPosition respektive latestEventPosition .

GetEventHubPropertiesOptions

Uppsättningen med alternativ för att konfigurera beteendet getEventHubPropertiesför .

  • abortSignal : En implementering av AbortSignalLike gränssnittet för att signalera begäran om att avbryta åtgärden.
  • parentSpan : Eller SpanSpanContext som ska användas som för det parent spann som skapades när den här åtgärden anropades.
GetPartitionIdsOptions

Uppsättningen med alternativ för att konfigurera beteendet getPartitionIdsför .

  • abortSignal : En implementering av AbortSignalLike gränssnittet för att signalera begäran om att avbryta åtgärden.
  • parentSpan : Eller SpanSpanContext som ska användas som för det parent spann som skapades när den här åtgärden anropades.
GetPartitionPropertiesOptions

Uppsättningen med alternativ för att konfigurera beteendet getPartitionPropertiesför .

  • abortSignal : En implementering av AbortSignalLike gränssnittet för att signalera begäran om att avbryta åtgärden.
  • parentSpan : Eller SpanSpanContext som ska användas som för det parent spann som skapades när den här åtgärden anropades.
LastEnqueuedEventProperties

En uppsättning information om den senaste köade händelsen för en partition, enligt vad som observeras av konsumenten när händelser tas emot från Event Hubs-tjänsten

LoadBalancingOptions

En alternativuppsättning för att konfigurera belastningsutjämningsinställningar.

OnSendEventsErrorContext

Innehåller de händelser som inte har skickats till händelsehubben, partitionen som de tilldelades till och felet som påträffades under sändningen.

OnSendEventsSuccessContext

Innehåller de händelser som har skickats till händelsehubben och den partition som de tilldelades till.

OperationOptions

Alternativ för att konfigurera spårning och abortSignal.

PartitionContext

Gränssnitt som beskriver den kontext som skickas till var och en av de funktioner som ingår i SubscriptionEventHandlers. När du implementerar någon av dessa funktioner använder du kontextobjektet för att hämta information om partitionen samt möjligheten att kontrollera.

PartitionOwnership

Ett gränssnitt som representerar information om vilken instans av en EventProcessor äger bearbetning av en viss partition från en konsumentgrupp för en händelsehubbinstans.

Obs! Detta används internt av EventProcessor användaren och behöver aldrig skapa det direkt.

PartitionProperties

Beskriver körningsinformationen för en EventHub-partition.

ReceivedEventData

Gränssnittet som beskriver strukturen för händelsen som tas emot från händelsehubben. Använd detta som referens när du skapar processEvents funktionen för att bearbeta de händelser som tas emot från en händelsehubb när du använder EventHubConsumerClient.

RetryOptions

Återförsöksprincipalternativ som bestämmer läge, antal återförsök, återförsöksintervall osv.

SendBatchOptions

Alternativ för att konfigurera sendBatch metoden på EventHubProducerClient när en matris med händelser skickas. Om partitionId har angetts partitionKey får inte anges och vice versa.

  • partitionId : Partitionen som den här batchen skickas till.
  • partitionKey : Ett värde som hashas för att skapa en partitionstilldelning.
  • abortSignal : En signal som används för att avbryta sändningsåtgärden.
SubscribeOptions

Alternativ för att konfigurera subscribe metoden på EventHubConsumerClient. Till exempel { maxBatchSize: 20, maxWaitTimeInSeconds: 120, startPosition: { sequenceNumber: 123 } }

Subscription

Gränssnitt som beskriver objektet som returneras av subscribe() metoden på EventHubConsumerClient.

SubscriptionEventHandlers

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.

TokenCredential

Representerar en autentiseringsuppgift som kan tillhandahålla en autentiseringstoken.

TryAddOptions

Alternativ för att konfigurera beteendet för tryAdd metoden i EventDataBatch klassen .

WebSocketImpl

Beskriver den form som krävs för WebSocket-konstruktorer.

WebSocketOptions

Alternativ för att konfigurera kanalisering av AMQP-anslutningen via Web Sockets.

Typalias

ProcessCloseHandler

Signatur för den användardefinierade funktionen som anropas av EventHubConsumerClient strax efter att den har stoppats för att ta emot händelser från en partition.

ProcessErrorHandler

Signatur för den användardefinierade funktionen som anropas av EventHubConsumerClient för fel som inträffar när händelser tas emot eller när någon av de funktioner som användaren tillhandahåller körs skickas till subscribe() metoden.

ProcessEventsHandler

Signatur för den användardefinierade funktion som anropas av EventHubConsumerClient när en uppsättning händelser tas emot.

ProcessInitializeHandler

Signaturen för den användardefinierade funktionen som anropades av EventHubConsumerClient precis innan den började ta emot händelser från en partition.

Uppräkningar

CloseReason

En uppräkning som representerar de olika orsakerna till att sluta EventHubConsumerClient bearbeta händelser från en partition i en konsumentgrupp i en händelsehubb.

RetryMode

Beskriver typen av återförsöksläge

Funktioner

createEventDataAdapter(EventDataAdapterParameters)

En funktion som konstruerar ett händelsedatakort. Adaptern kan användas med @azure/schema-registry-avro för att koda och avkoda brödtext i händelsedata.

parseEventHubConnectionString(string)

Parsningar som anges anslutningssträng i de olika egenskaper som gäller för Azure Event Hubs. Egenskaperna är användbara för att sedan konstruera en EventHubProducerClient eller en EventHubConsumerClient.

Funktionsinformation

createEventDataAdapter(EventDataAdapterParameters)

En funktion som konstruerar ett händelsedatakort. Adaptern kan användas med @azure/schema-registry-avro för att koda och avkoda brödtext i händelsedata.

function createEventDataAdapter(params?: EventDataAdapterParameters): MessageAdapter<EventData>

Parametrar

params
EventDataAdapterParameters

parametrar för att skapa händelsedata

Returer

MessageAdapter<EventData>

Ett händelsedatakort som kan producera och använda händelsedata

parseEventHubConnectionString(string)

Parsningar som anges anslutningssträng i de olika egenskaper som gäller för Azure Event Hubs. Egenskaperna är användbara för att sedan konstruera en EventHubProducerClient eller en EventHubConsumerClient.

function parseEventHubConnectionString(connectionString: string): Readonly<EventHubConnectionStringProperties>

Parametrar

connectionString

string

Den anslutningssträng som är associerad med principen för delad åtkomst som skapats för Event Hubs-namnområdet.

Returer