Delen via


@azure/event-hubs package

Klassen

EventHubBufferedProducerClient

De EventHubBufferedProducerClientwordt gebruikt om gebeurtenissen te publiceren naar een specifieke Event Hub.

De EventHubBufferedProducerClient publiceert gebeurtenissen niet onmiddellijk. In plaats daarvan worden gebeurtenissen gebufferd, zodat ze efficiënt kunnen worden gebatcheerd en gepubliceerd wanneer de batch vol is of is maxWaitTimeInMs verstreken zonder dat er nieuwe gebeurtenissen zijn gemaild.

Afhankelijk van de opties die zijn opgegeven wanneer gebeurtenissen worden ge-enqueued, kunnen ze automatisch worden toegewezen aan een partitie, gegroepeerd op basis van de opgegeven partitiesleutel of een specifiek aangevraagde partitie worden toegewezen.

Dit model is bedoeld om de belasting van batchbeheer te verschuiven van bellers, ten koste van niet-deterministische timing, voor wanneer gebeurtenissen worden gepubliceerd. Er zijn ook extra compromissen om rekening mee te houden:

  • Als de toepassing vastloopt, zijn gebeurtenissen in de buffer niet gepubliceerd. Om gegevensverlies te voorkomen, worden bellers aangemoedigd om de publicatievoortgang bij te houden met behulp van de onSendEventsSuccessHandler handlers en onSendEventsErrorHandler .
  • Aan gebeurtenissen die een partitiesleutel opgeven, kan een andere partitie worden toegewezen dan aan gebeurtenissen die dezelfde sleutel gebruiken met andere producenten.
  • In het onwaarschijnlijke geval dat een partitie tijdelijk niet beschikbaar is, kan het EventHubBufferedProducerClient langer duren om te herstellen dan andere producenten.

In scenario's waarin het belangrijk is om gebeurtenissen onmiddellijk te publiceren met een deterministisch resultaat, moet u ervoor zorgen dat partitiesleutels worden toegewezen aan een partitie die consistent is met andere uitgevers, of wanneer het maximaliseren van de beschikbaarheid een vereiste is, wordt het gebruik van de EventHubProducerClient aanbevolen.

EventHubConsumerClient

De EventHubConsumerClient klasse wordt gebruikt om gebeurtenissen van een Event Hub te gebruiken.

Er zijn meerdere manieren om een EventHubConsumerClient

  • Gebruik de verbindingsreeks van het SAS-beleid dat is gemaakt voor uw Event Hub-exemplaar.
  • Gebruik de verbindingsreeks van het SAS-beleid dat is gemaakt voor uw Event Hub-naamruimte en de naam van het Event Hub-exemplaar
  • Gebruik de volledige naamruimte, zoals <yournamespace>.servicebus.windows.net, en een referentieobject.

U kunt eventueel ook het volgende doorgeven:

  • Een optiesverzameling voor het configureren van het beleid voor opnieuw proberen of proxy-instellingen.
  • Een controlepuntarchief dat door de client wordt gebruikt om controlepunten te lezen om de positie te bepalen van waaruit het ontvangen van gebeurtenissen moet hervatten wanneer uw toepassing opnieuw wordt gestart. Het controlepuntarchief wordt ook door de client gebruikt om meerdere exemplaren van uw toepassing te verdelen.
EventHubProducerClient

De EventHubProducerClient klasse wordt gebruikt om gebeurtenissen naar een Event Hub te verzenden.

Er zijn meerdere manieren om een EventHubProducerClient

  • Gebruik de verbindingsreeks van het SAS-beleid dat is gemaakt voor uw Event Hub-exemplaar.
  • Gebruik de verbindingsreeks van het SAS-beleid dat is gemaakt voor uw Event Hub-naamruimte en de naam van het Event Hub-exemplaar
  • Gebruik de volledige naamruimte, zoals <yournamespace>.servicebus.windows.net, en een referentieobject.

U kunt desgewenst ook een optieverzameling doorgeven om het beleid voor opnieuw proberen of proxy-instellingen te configureren.

MessagingError

Beschrijft de basisklasse voor Berichtfout.

Interfaces

BufferedCloseOptions

Opties voor het configureren van de close methode op de EventHubBufferedProducerClient.

BufferedFlushOptions

Opties voor het configureren van de flush methode op de EventHubBufferedProducerClient.

Checkpoint

Een controlepunt is bedoeld om de laatst verwerkte gebeurtenis door de gebruiker van een bepaalde partitie van een consumentengroep in een Event Hub-exemplaar weer te geven.

Wanneer de updateCheckpoint() methode voor de PartitionProcessor klasse wordt aangeroepen door de gebruiker, wordt intern een Checkpoint gemaakt. Deze wordt vervolgens opgeslagen in de opslagoplossing die door de CheckpointManager gebruiker is geïmplementeerd bij het maken van een EventProcessor.

Van gebruikers wordt nooit verwacht dat ze rechtstreeks communiceren.Checkpoint Deze interface bestaat ter ondersteuning van de interne werking van EventProcessor en CheckpointManager.

CheckpointStore

In een controlepuntarchief worden gegevens over het eigendom van partities en controlepuntgegevens opgeslagen en opgehaald voor elke partitie in een bepaalde consumentengroep van een Event Hub-exemplaar.

Gebruikers zijn niet bedoeld om een CheckpointStorete implementeren. Gebruikers worden geacht bestaande implementaties van deze interface te kiezen, deze te instantiëren en door te geven aan de EventHubConsumerClient klasseconstructor bij het instantiëren van een client. Van gebruikers wordt niet verwacht dat ze een van de methoden in een controlepuntarchief gebruiken. Deze worden intern door de client gebruikt.

Implementaties van CheckpointStore vindt u op npm door te zoeken naar pakketten met het voorvoegsel @azure/eventhub-checkpointstore-.

CreateBatchOptions

Opties voor het configureren van de createBatch methode op de EventHubProducerClient.

  • partitionKey : Een waarde die wordt gehasht om een partitietoewijzing te produceren.
  • maxSizeInBytes: De bovengrens voor de grootte van de batch.
  • abortSignal : Een signaal van de aanvraag om de verzendbewerking te annuleren.

Gebruiksvoorbeeld:

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

Opties voor het configureren van de enqueueEvents methode op de EventHubBufferedProducerClient.

EventData

De interface die de gegevens beschrijft die naar Event Hub moeten worden verzonden. Gebruik dit als referentie bij het maken van het object dat moet worden verzonden wanneer u de EventHubProducerClientgebruikt. Bijvoorbeeld, { body: "your-data" } of

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

Parameters voor de createEventDataAdapter functie die een gebeurtenisgegevensadapter maakt.

EventDataBatch

Een interface die een batch gebeurtenissen vertegenwoordigt die kan worden gebruikt om gebeurtenissen naar Event Hub te verzenden.

Als u de batch wilt maken, gebruikt u de createBatch() methode op de EventHubProducerClient. Als u de batch wilt verzenden, gebruikt u de sendBatch() methode op dezelfde client. Als u de batch wilt vullen, gebruikt u de tryAdd() methode voor de batch zelf.

EventHubBufferedProducerClientOptions

Hierin worden de opties beschreven die kunnen worden opgegeven tijdens het maken van de EventHubBufferedProducerClient.

EventHubClientOptions

Hierin worden de opties beschreven die kunnen worden geboden tijdens het maken van de EventHubClient.

  • userAgent : Een tekenreeks die moet worden toegevoegd aan de ingebouwde tekenreeks van de gebruikersagent die wordt doorgegeven als een verbindingseigenschap aan de service.
  • webSocketOptions : Opties voor het configureren van de channeling van de AMQP-verbinding via Web Sockets.
    • websocket : De WebSocket-constructor die wordt gebruikt om een AMQP-verbinding te maken als u ervoor kiest om de verbinding via een WebSocket te maken.
    • webSocketConstructorOptions : Opties om door te geven aan de Websocket-constructor wanneer u ervoor kiest om verbinding te maken via een WebSocket.
  • retryOptions : De opties voor opnieuw proberen voor alle bewerkingen op de client/producent/consument.
    • maxRetries : het aantal keren dat de bewerking opnieuw kan worden uitgevoerd in het geval van een fout die opnieuw kan worden geprobeerd.
    • maxRetryDelayInMs: de maximale vertraging tussen nieuwe pogingen. Alleen van toepassing bij het uitvoeren van exponentiële nieuwe pogingen.
    • mode: welke modus voor opnieuw proberen moet worden toegepast, opgegeven door de RetryMode enum. Opties zijn Exponential en Fixed. De standaardwaarde is Fixed.
    • retryDelayInMs: de hoeveelheid tijd die moet worden gewacht in milliseconden voordat u de volgende poging uitvoert. Wanneer mode is ingesteld op Exponential, wordt dit gebruikt om de exponentieel toenemende vertragingen tussen nieuwe pogingen te berekenen. Standaard: 30000 milliseconden.
    • timeoutInMs: De hoeveelheid tijd in milliseconden om te wachten voordat er een time-out optreedt voor de bewerking. Hierdoor wordt een nieuwe poging geactiveerd als er nog nieuwe pogingen zijn. Standaardwaarde: 60000 milliseconden.

Een eenvoudig gebruik kan zijn { "maxRetries": 4 }.

Gebruiksvoorbeeld:

{
    retryOptions: {
        maxRetries: 4
    }
}
EventHubConnectionStringProperties

De set eigenschappen waaruit een Event Hub-verbindingsreeks bestaat.

EventHubConsumerClientOptions

Hierin worden de opties beschreven die kunnen worden geboden tijdens het maken van de EventHubConsumerClient.

  • loadBalancingOptions: Opties voor het afstemmen van de wijze waarop de EventHubConsumerClient-partities claimt.
  • userAgent : Een tekenreeks die moet worden toegevoegd aan de ingebouwde tekenreeks van de gebruikersagent die wordt doorgegeven als een verbindingseigenschap aan de service.
  • webSocketOptions : Opties voor het configureren van de channeling van de AMQP-verbinding via Web Sockets.
    • websocket : De WebSocket-constructor die wordt gebruikt om een AMQP-verbinding te maken als u ervoor kiest om de verbinding via een WebSocket te maken.
    • webSocketConstructorOptions : Opties om door te geven aan de Websocket-constructor wanneer u ervoor kiest om verbinding te maken via een WebSocket.
  • retryOptions : De opties voor opnieuw proberen voor alle bewerkingen op de client/producent/consument.
    • maxRetries : het aantal keren dat de bewerking opnieuw kan worden uitgevoerd in het geval van een fout die opnieuw kan worden geprobeerd.
    • maxRetryDelayInMs: de maximale vertraging tussen nieuwe pogingen. Alleen van toepassing bij het uitvoeren van exponentiële nieuwe pogingen.
    • mode: welke modus voor opnieuw proberen moet worden toegepast, opgegeven door de RetryMode enum. Opties zijn Exponential en Fixed. De standaardwaarde is Fixed.
    • retryDelayInMs: de hoeveelheid tijd die moet worden gewacht in milliseconden voordat u de volgende poging uitvoert. Wanneer mode is ingesteld op Exponential, wordt dit gebruikt om de exponentieel toenemende vertragingen tussen nieuwe pogingen te berekenen. Standaard: 30000 milliseconden.
    • timeoutInMs: De hoeveelheid tijd in milliseconden om te wachten voordat er een time-out optreedt voor de bewerking. Hierdoor wordt een nieuwe poging geactiveerd als er nog nieuwe pogingen zijn. Standaardwaarde: 60000 milliseconden.

Een eenvoudig gebruik kan zijn { "maxRetries": 4 }.

Gebruiksvoorbeeld:

{
    retryOptions: {
        maxRetries: 4
    }
}
EventHubProperties

Beschrijft de runtime-informatie van een Event Hub.

EventPosition

Vertegenwoordigt de positie van een gebeurtenis in een Event Hub-partitie, die doorgaans wordt gebruikt bij het aanroepen van de subscribe() methode op een EventHubConsumerClient om de positie in de partitie op te geven waaruit gebeurtenissen moeten worden ontvangen.

Als u een EventPosition wilt ophalen die het begin of einde van de stream vertegenwoordigt, gebruikt u respectievelijk de constanten earliestEventPosition en latestEventPosition .

GetEventHubPropertiesOptions

De set opties voor het configureren van het gedrag van getEventHubProperties.

  • abortSignal : Een implementatie van de AbortSignalLike interface om de aanvraag om de bewerking te annuleren aan te geven.
  • parentSpan : de Span of SpanContext om te gebruiken als van het parent bereik dat is gemaakt tijdens het aanroepen van deze bewerking.
GetPartitionIdsOptions

De set opties voor het configureren van het gedrag van getPartitionIds.

  • abortSignal : Een implementatie van de AbortSignalLike interface om de aanvraag om de bewerking te annuleren aan te geven.
  • parentSpan : de Span of SpanContext om te gebruiken als van het parent bereik dat is gemaakt tijdens het aanroepen van deze bewerking.
GetPartitionPropertiesOptions

De set opties voor het configureren van het gedrag van getPartitionProperties.

  • abortSignal : Een implementatie van de AbortSignalLike interface om de aanvraag om de bewerking te annuleren aan te geven.
  • parentSpan : de Span of SpanContext om te gebruiken als van het parent bereik dat is gemaakt tijdens het aanroepen van deze bewerking.
LastEnqueuedEventProperties

Een set informatie over de laatste enqueued-gebeurtenis van een partitie, zoals waargenomen door de consument als gebeurtenissen worden ontvangen van de Event Hubs-service

LoadBalancingOptions

Een optiesverzameling voor het configureren van instellingen voor taakverdeling.

OnSendEventsErrorContext

Bevat de gebeurtenissen die niet naar de Event Hub zijn verzonden, de partitie waaraan ze zijn toegewezen en de fout die is opgetreden tijdens het verzenden.

OnSendEventsSuccessContext

Bevat de gebeurtenissen die zijn verzonden naar de Event Hub en de partitie waaraan ze zijn toegewezen.

OperationOptions

Opties voor het configureren van tracering en de abortSignal.

PartitionContext

Interface die de context beschrijft die wordt doorgegeven aan elk van de functies die deel uitmaken van de SubscriptionEventHandlers. Wanneer u een van deze functies implementeert, gebruikt u het contextobject om informatie op te halen over de partitie en de mogelijkheid om een controlepunt op te halen.

PartitionOwnership

Een interface die de details weergeeft over welk exemplaar van een EventProcessor eigenaar de verwerking van een bepaalde partitie van een consumentengroep van een Event Hub-exemplaar is.

Opmerking: dit wordt intern gebruikt door de EventProcessor en gebruiker hoeft deze nooit rechtstreeks te maken.

PartitionProperties

Beschrijft de runtime-informatie van een EventHub-partitie.

ReceivedEventData

De interface die de structuur beschrijft van de gebeurtenis die is ontvangen van Event Hub. Gebruik dit als referentie bij het maken van de processEvents functie om de gebeurtenissen te verwerken die zijn ontvangen van een Event Hub wanneer u de EventHubConsumerClientgebruikt.

RetryOptions

Beleidsopties voor opnieuw proberen die de modus, het aantal nieuwe pogingen, het interval voor nieuwe pogingen, enzovoort bepalen.

SendBatchOptions

Opties voor het configureren van de sendBatch methode op de bij het EventHubProducerClient verzenden van een matrix met gebeurtenissen. Als partitionId is ingesteld, partitionKey moet niet worden ingesteld en omgekeerd.

  • partitionId : De partitie waarnaar deze batch wordt verzonden.
  • partitionKey : Een waarde die wordt gehasht om een partitietoewijzing te produceren.
  • abortSignal : Een signaal dat wordt gebruikt om de verzendbewerking te annuleren.
SubscribeOptions

Opties voor het configureren van de subscribe methode op de EventHubConsumerClient. Bijvoorbeeld: { maxBatchSize: 20, maxWaitTimeInSeconds: 120, startPosition: { sequenceNumber: 123 } }

Subscription

Interface die het object beschrijft dat wordt geretourneerd door de subscribe() methode op de EventHubConsumerClient.

SubscriptionEventHandlers

Interface die de functies beschrijft die moeten worden geïmplementeerd door de gebruiker die worden aangeroepen door de EventHubConsumerClient wanneer de subscribe() methode wordt aangeroepen om gebeurtenissen van Event Hub te ontvangen.

TokenCredential

Vertegenwoordigt een referentie die een verificatietoken kan leveren.

TryAddOptions

Opties voor het configureren van het gedrag van de tryAdd methode in de EventDataBatch klasse.

WebSocketImpl

Beschrijft de vereiste vorm van WebSocket-constructors.

WebSocketOptions

Opties voor het configureren van de channeling van de AMQP-verbinding via websockets.

Type-aliassen

ProcessCloseHandler

Handtekening van de door de gebruiker opgegeven functie die wordt aangeroepen door EventHubConsumerClient net na het stoppen om gebeurtenissen van een partitie te ontvangen.

ProcessErrorHandler

Handtekening van de door de gebruiker opgegeven functie die wordt aangeroepen door EventHubConsumerClient voor fouten die optreden bij het ontvangen van gebeurtenissen of bij het uitvoeren van een van de door de gebruiker verstrekte functies die zijn doorgegeven aan de subscribe() methode.

ProcessEventsHandler

Handtekening van de door de gebruiker opgegeven functie die wordt aangeroepen door EventHubConsumerClient wanneer een set gebeurtenissen wordt ontvangen.

ProcessInitializeHandler

Handtekening van de door de gebruiker opgegeven functie die wordt aangeroepen door EventHubConsumerClient net voordat gebeurtenissen van een partitie worden ontvangen.

Enums

CloseReason

Een opsomming die de verschillende redenen weergeeft voor een EventHubConsumerClient om te stoppen met het verwerken van gebeurtenissen van een partitie in een consumentengroep van een Event Hub.

RetryMode

Beschrijft het type Modus voor opnieuw proberen

Functies

createEventDataAdapter(EventDataAdapterParameters)

Een functie die een gebeurtenisgegevensadapter maakt. Die adapter kan worden gebruikt met @azure/schema-registry-avro voor het coderen en decoderen van hoofdtekst in gebeurtenisgegevens.

parseEventHubConnectionString(string)

Parseert gegeven verbindingsreeks in de verschillende eigenschappen die van toepassing zijn op Azure Event Hubs. De eigenschappen zijn handig om vervolgens een EventHubProducerClient of een EventHubConsumerClient te maken.

Functiedetails

createEventDataAdapter(EventDataAdapterParameters)

Een functie die een gebeurtenisgegevensadapter maakt. Die adapter kan worden gebruikt met @azure/schema-registry-avro voor het coderen en decoderen van hoofdtekst in gebeurtenisgegevens.

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

Parameters

params
EventDataAdapterParameters

parameters voor het maken van de gebeurtenisgegevens

Retouren

MessageAdapter<EventData>

Een gebeurtenisgegevensadapter die gebeurtenisgegevens kan produceren en verbruiken

parseEventHubConnectionString(string)

Parseert gegeven verbindingsreeks in de verschillende eigenschappen die van toepassing zijn op Azure Event Hubs. De eigenschappen zijn handig om vervolgens een EventHubProducerClient of een EventHubConsumerClient te maken.

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

Parameters

connectionString

string

De verbindingsreeks gekoppeld aan het beleid voor gedeelde toegang dat is gemaakt voor de Event Hubs-naamruimte.

Retouren