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 buffrads händelser så att de effektivt kan batchas och publiceras när batchen är full eller maxWaitTimeInMs har förflutit utan att några 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 uppmanas anropare att spåra publiceringsförloppet med hjälp av onSendEventsSuccessHandler- och onSendEventsErrorHandler-hanterare.
  • Händelser som anger en partitionsnyckel kan tilldelas en annan partition än de som använder samma nyckel med andra producenter.
  • Om det är osannolikt att en partition blir tillfälligt otillgänglig kan EventHubBufferedProducerClient ta längre tid att återställa än andra tillverkare.

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 är konsekvent med andra utgivare, eller där det rekommenderas att maximera tillgängligheten med hjälp av 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ängen från SAS-principen som skapats för din Event Hub-instans.
  • Använd anslutningssträngen 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 som <yournamespace>.servicebus.windows.netoch ett autentiseringsuppgifter.

Du kan också skicka:

  • En alternativväska för att konfigurera återförsöksprincipen eller proxyinställningarna.
  • Ett kontrollpunktslager 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 lastbalansera 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ängen från SAS-principen som skapats för din Event Hub-instans.
  • Använd anslutningssträngen 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 som <yournamespace>.servicebus.windows.netoch ett autentiseringsuppgifter.

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

MessagingError

Beskriver basklassen för meddelandefel.

Gränssnitt

BufferedCloseOptions

Alternativ för att konfigurera metoden closeEventHubBufferedProducerClient.

BufferedFlushOptions

Alternativ för att konfigurera metoden flushEventHubBufferedProducerClient.

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.

När updateCheckpoint()-metoden i klassen PartitionProcessor anropas av användaren skapas en Checkpoint internt. Den lagras sedan i lagringslösningen som implementeras av den CheckpointManager som användaren väljer 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 i EventProcessor 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 kontrollpunktslager. 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 metoden createBatchEventHubProducerClient.

  • partitionKey : Ett värde som hashas för att skapa en partitionstilldelning.
  • maxSizeInBytes: Den övre gränsen för batchstorleken.
  • abortSignal : En signal till 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 metoden enqueueEventsEventHubBufferedProducerClient.

EventData

Gränssnittet som beskriver de data som ska skickas till Händelsehubb. 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 den createEventDataAdapter funktion 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 Event Hub.

Om du vill skapa batchen använder du metoden createBatch()EventHubProducerClient. Om du vill skicka batchen använder du metoden sendBatch() på samma klient. Om du vill fylla batchen använder du metoden tryAdd() 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 : Antalet gånger åtgärden kan utföras igen om ett nytt försök kan göras.
    • maxRetryDelayInMs: Den maximala fördröjningen mellan återförsök. Gäller endast vid exponentiella återförsök.
    • mode: Vilket återförsöksläge som ska tillämpas, som anges av RetryMode uppräkning. Alternativen är Exponential och Fixed. Standardvärdet är Fixed.
    • retryDelayInMs: Hur lång tid det tar att vänta i millisekunder innan nästa försök görs. 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: 30 000 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 händelsehubbanslutningssträng.

EventHubConsumerClientOptions

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

  • loadBalancingOptions: Alternativ för att justera hur EventHubConsumerClient anspråk 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 : Antalet gånger åtgärden kan utföras igen om ett nytt försök kan göras.
    • maxRetryDelayInMs: Den maximala fördröjningen mellan återförsök. Gäller endast vid exponentiella återförsök.
    • mode: Vilket återförsöksläge som ska tillämpas, som anges av RetryMode uppräkning. Alternativen är Exponential och Fixed. Standardvärdet är Fixed.
    • retryDelayInMs: Hur lång tid det tar att vänta i millisekunder innan nästa försök görs. 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: 30 000 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 Event Hub-partition, som vanligtvis används när du anropar metoden subscribe() på en EventHubConsumerClient för att ange positionen i partitionen för att börja ta emot händelser från.

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

GetEventHubPropertiesOptions

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

  • abortSignal : En implementering av AbortSignalLike-gränssnittet för att signalera begäran om att avbryta åtgärden.
  • parentSpan : Den Span eller SpanContext som ska användas som parent för det spann som skapades när åtgärden anropades.
GetPartitionIdsOptions

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

  • abortSignal : En implementering av AbortSignalLike-gränssnittet för att signalera begäran om att avbryta åtgärden.
  • parentSpan : Den Span eller SpanContext som ska användas som parent för det spann som skapades när åtgärden anropades.
GetPartitionPropertiesOptions

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

  • abortSignal : En implementering av AbortSignalLike-gränssnittet för att signalera begäran om att avbryta åtgärden.
  • parentSpan : Den Span eller SpanContext som ska användas som parent för det spann som skapades när åtgärden anropades.
LastEnqueuedEventProperties

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

LoadBalancingOptions

En alternativväska 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 när de skickades.

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 kontexten 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 i en Event Hub-instans.

Note: Detta används internt av EventProcessor och användaren 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 tagits emot från Event Hub. Använd detta som referens när du skapar funktionen processEvents för att bearbeta händelser som tas emot från en händelsehubb när du använder EventHubConsumerClient.

RetryOptions

Återförsök av principalternativ som avgör läget, antalet å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 anges får partitionKey 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 metoden subscribeEventHubConsumerClient. Till exempel { maxBatchSize: 20, maxWaitTimeInSeconds: 120, startPosition: { sequenceNumber: 123 } }

Subscription

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

SubscriptionEventHandlers

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.

TokenCredential

Representerar en autentiseringsuppgift som kan tillhandahålla en autentiseringstoken.

TryAddOptions

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

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ändaringivna funktion 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ändaringivna funktionen som anropas av EventHubConsumerClient för fel som uppstår när händelser tas emot eller när någon av de användarfunktioner som skickas till metoden subscribe() körs.

ProcessEventsHandler

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

ProcessInitializeHandler

Signatur för den användarfunktion som anropas av EventHubConsumerClient precis innan du börjar ta emot händelser från en partition.

Uppräkningar

CloseReason

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

RetryMode

Beskriver typ 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)

Parsar angiven 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)

Parsar angiven 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

Anslutningssträngen som är associerad med principen för delad åtkomst som skapats för Event Hubs-namnområdet.

Returer