Delen via


EventHubBufferedProducerClient class

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 in batches kunnen worden gebatcheerd en gepubliceerd wanneer de batch vol is of de maxWaitTimeInMs is verstreken zonder dat er nieuwe gebeurtenissen zijn.

Afhankelijk van de opties die zijn opgegeven wanneer gebeurtenissen worden onderbroken, 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, worden 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 aanbevolen om de EventHubProducerClient te gebruiken.

Constructors

EventHubBufferedProducerClient(string, EventHubBufferedProducerClientOptions)

De EventHubBufferedProducerClient klasse wordt gebruikt om gebeurtenissen naar een Event Hub te verzenden. Gebruik de options parmeter om beleid voor opnieuw proberen of proxy-instellingen te configureren.

EventHubBufferedProducerClient(string, string, EventHubBufferedProducerClientOptions)

De EventHubBufferedProducerClient klasse wordt gebruikt om gebeurtenissen naar een Event Hub te verzenden. Gebruik de options parmeter om beleid voor opnieuw proberen of proxy-instellingen te configureren.

EventHubBufferedProducerClient(string, string, TokenCredential | NamedKeyCredential | SASCredential, EventHubBufferedProducerClientOptions)

De EventHubBufferedProducerClient klasse wordt gebruikt om gebeurtenissen naar een Event Hub te verzenden. Gebruik de options parmeter om beleid voor opnieuw proberen of proxy-instellingen te configureren.

Eigenschappen

eventHubName

De naam van het Event Hub-exemplaar waarvoor deze client is gemaakt.

fullyQualifiedNamespace

De volledig gekwalificeerde naamruimte van het Event Hub-exemplaar waarvoor deze client is gemaakt. Dit is waarschijnlijk vergelijkbaar met .servicebus.windows.net.

identifier

De naam die wordt gebruikt om deze EventHubBufferedProducerClient te identificeren. Als dit niet is opgegeven of leeg is, wordt er een willekeurige unieke gegenereerd.

Methoden

close(BufferedCloseOptions)

Sluit de AMQP-verbinding met het Event Hub-exemplaar en retourneert een belofte die wordt opgelost wanneer de verbinding is verbroken.

Hiermee wordt gewacht tot de gesloten gebeurtenissen naar de service worden leeggemaakt voordat de verbinding wordt gesloten. Als u wilt sluiten zonder door te spoelen, stelt u de flush optie in op false.

enqueueEvent(EventData | AmqpAnnotatedMessage, EnqueueEventOptions)

Hiermee wordt een gebeurtenis in de buffer geplaatst die moet worden gepubliceerd naar de Event Hub. Als er geen capaciteit in de buffer is wanneer deze methode wordt aangeroepen, wordt gewacht tot er ruimte beschikbaar is en wordt ervoor gezorgd dat de gebeurtenis is beëindigd.

Wanneer deze aanroep wordt geretourneerd, is de gebeurtenis geaccepteerd in de buffer, maar is deze mogelijk nog niet gepubliceerd. De publicatie vindt in de toekomst plaats op een niet-deterministisch punt wanneer de buffer wordt verwerkt.

enqueueEvents(EventData[] | AmqpAnnotatedMessage[], EnqueueEventOptions)

Hiermee worden gebeurtenissen in de buffer geplaatst die moeten worden gepubliceerd naar de Event Hub. Als er geen capaciteit in de buffer is wanneer deze methode wordt aangeroepen, wordt gewacht tot er ruimte beschikbaar is en wordt ervoor gezorgd dat de gebeurtenissen zijn beëindigd.

Wanneer deze aanroep wordt geretourneerd, zijn de gebeurtenissen geaccepteerd in de buffer, maar zijn deze mogelijk nog niet gepubliceerd. De publicatie vindt in de toekomst plaats op een niet-deterministisch punt wanneer de buffer wordt verwerkt.

flush(BufferedFlushOptions)

Probeert alle gebeurtenissen in de buffer onmiddellijk te publiceren. Dit kan ertoe leiden dat meerdere batches worden gepubliceerd, waarvan het resultaat afzonderlijk wordt gerapporteerd door de onSendEventsSuccessHandler handlers en onSendEventsErrorHandler .

getEventHubProperties(GetEventHubPropertiesOptions)

Bevat de informatie over de Event Hub-runtime.

getPartitionIds(GetPartitionIdsOptions)

Geeft de id op voor elke partitie die is gekoppeld aan de Event Hub.

getPartitionProperties(string, GetPartitionPropertiesOptions)

Bevat informatie over de status van de opgegeven partitie.

Constructordetails

EventHubBufferedProducerClient(string, EventHubBufferedProducerClientOptions)

De EventHubBufferedProducerClient klasse wordt gebruikt om gebeurtenissen naar een Event Hub te verzenden. Gebruik de options parmeter om beleid voor opnieuw proberen of proxy-instellingen te configureren.

new EventHubBufferedProducerClient(connectionString: string, options: EventHubBufferedProducerClientOptions)

Parameters

connectionString

string

De connection string die moet worden gebruikt om verbinding te maken met het Event Hub-exemplaar. Naar verwachting zijn de eigenschappen van de gedeelde sleutel en het Event Hub-pad opgenomen in deze connection string. bijvoorbeeld 'Endpoint=sb://my-servicebus-namespace.servicebus.windows.net/;SharedAccessKeyName=my-SA-name; SharedAccessKey=my-SA-key; EntityPath=my-event-hub-name'.

options
EventHubBufferedProducerClientOptions

Een reeks opties die moeten worden toegepast bij het configureren van de client.

  • retryOptions : Hiermee configureert u het beleid voor opnieuw proberen voor alle bewerkingen op de client. Bijvoorbeeld { "maxRetries": 4 } of { "maxRetries": 4, "retryDelayInMs": 30000 }.
  • webSocketOptions: Hiermee configureert u de channeling van de AMQP-verbinding via websockets.
  • userAgent : Een tekenreeks die moet worden toegevoegd aan de ingebouwde tekenreeks van de gebruikersagent die wordt doorgegeven aan de service.

EventHubBufferedProducerClient(string, string, EventHubBufferedProducerClientOptions)

De EventHubBufferedProducerClient klasse wordt gebruikt om gebeurtenissen naar een Event Hub te verzenden. Gebruik de options parmeter om beleid voor opnieuw proberen of proxy-instellingen te configureren.

new EventHubBufferedProducerClient(connectionString: string, eventHubName: string, options: EventHubBufferedProducerClientOptions)

Parameters

connectionString

string

De connection string om verbinding te maken met de Event Hubs-naamruimte. De gedeelde sleuteleigenschappen worden verwacht in deze connection string, maar niet in het Event Hub-pad, bijvoorbeeld 'Endpoint=sb://my-servicebus-namespace.servicebus.windows.net/;SharedAccessKeyName=my-SA-name; SharedAccessKey=my-SA-key;'.

eventHubName

string

De naam van de specifieke Event Hub waarmee de client verbinding moet maken.

options
EventHubBufferedProducerClientOptions

Een reeks opties die moeten worden toegepast bij het configureren van de client.

  • retryOptions : Hiermee configureert u het beleid voor opnieuw proberen voor alle bewerkingen op de client. Bijvoorbeeld { "maxRetries": 4 } of { "maxRetries": 4, "retryDelayInMs": 30000 }.
  • webSocketOptions: Hiermee configureert u de channeling van de AMQP-verbinding via websockets.
  • userAgent : Een tekenreeks die moet worden toegevoegd aan de ingebouwde tekenreeks van de gebruikersagent die wordt doorgegeven aan de service.

EventHubBufferedProducerClient(string, string, TokenCredential | NamedKeyCredential | SASCredential, EventHubBufferedProducerClientOptions)

De EventHubBufferedProducerClient klasse wordt gebruikt om gebeurtenissen naar een Event Hub te verzenden. Gebruik de options parmeter om beleid voor opnieuw proberen of proxy-instellingen te configureren.

new EventHubBufferedProducerClient(fullyQualifiedNamespace: string, eventHubName: string, credential: TokenCredential | NamedKeyCredential | SASCredential, options: EventHubBufferedProducerClientOptions)

Parameters

fullyQualifiedNamespace

string

De volledige naamruimte die waarschijnlijk vergelijkbaar is met .servicebus.windows.net

eventHubName

string

De naam van de specifieke Event Hub waarmee de client verbinding moet maken.

credential

TokenCredential | NamedKeyCredential | SASCredential

Een referentieobject dat door de client wordt gebruikt om het token op te halen om de verbinding met de Azure Event Hubs-service te verifiëren. Zie @azure/identity voor het maken van referenties die ondersteuning bieden voor AAD-verificatie. Gebruik de AzureNamedKeyCredential from @azure/core-auth als u een SharedAccessKeyName en SharedAccessKey wilt doorgeven zonder een connection string te gebruiken. Deze velden worden respectievelijk toegewezen aan het name veld en key in AzureNamedKeyCredential. Gebruik de AzureSASCredential van @azure/core-auth als u een SharedAccessSignature wilt doorgeven zonder een connection string te gebruiken. Dit veld wordt toegewezen aan signature in AzureSASCredential.

options
EventHubBufferedProducerClientOptions

Een reeks opties die moeten worden toegepast bij het configureren van de client.

  • retryOptions : hiermee configureert u het beleid voor opnieuw proberen voor alle bewerkingen op de client. Bijvoorbeeld { "maxRetries": 4 } of { "maxRetries": 4, "retryDelayInMs": 30000 }.
  • webSocketOptions: hiermee configureert u de channeling van de AMQP-verbinding via Web Sockets.
  • userAgent : een tekenreeks die moet worden toegevoegd aan de ingebouwde tekenreeks van de gebruikersagent die wordt doorgegeven aan de service.

Eigenschapdetails

eventHubName

De naam van het Event Hub-exemplaar waarvoor deze client is gemaakt.

string eventHubName

Waarde van eigenschap

string

fullyQualifiedNamespace

De volledig gekwalificeerde naamruimte van het Event Hub-exemplaar waarvoor deze client is gemaakt. Dit is waarschijnlijk vergelijkbaar met .servicebus.windows.net.

string fullyQualifiedNamespace

Waarde van eigenschap

string

identifier

De naam die wordt gebruikt om deze EventHubBufferedProducerClient te identificeren. Als dit niet is opgegeven of leeg is, wordt er een willekeurige unieke gegenereerd.

identifier: string

Waarde van eigenschap

string

Methodedetails

close(BufferedCloseOptions)

Sluit de AMQP-verbinding met het Event Hub-exemplaar en retourneert een belofte die wordt opgelost wanneer de verbinding is verbroken.

Hiermee wordt gewacht tot de gesloten gebeurtenissen naar de service worden leeggemaakt voordat de verbinding wordt gesloten. Als u wilt sluiten zonder door te spoelen, stelt u de flush optie in op false.

function close(options?: BufferedCloseOptions): Promise<void>

Parameters

options
BufferedCloseOptions

De set opties die moeten worden toegepast op de bewerkingsoproep.

Retouren

Promise<void>

Belofte

enqueueEvent(EventData | AmqpAnnotatedMessage, EnqueueEventOptions)

Hiermee wordt een gebeurtenis in de buffer geplaatst die moet worden gepubliceerd naar de Event Hub. Als er geen capaciteit in de buffer is wanneer deze methode wordt aangeroepen, wordt gewacht tot er ruimte beschikbaar is en wordt ervoor gezorgd dat de gebeurtenis is beëindigd.

Wanneer deze aanroep wordt geretourneerd, is de gebeurtenis geaccepteerd in de buffer, maar is deze mogelijk nog niet gepubliceerd. De publicatie vindt in de toekomst plaats op een niet-deterministisch punt wanneer de buffer wordt verwerkt.

function enqueueEvent(event: EventData | AmqpAnnotatedMessage, options?: EnqueueEventOptions): Promise<number>

Parameters

options
EnqueueEventOptions

Een set opties die kunnen worden opgegeven om de manier te beïnvloeden waarop de gebeurtenis naar de bijbehorende Event Hub wordt verzonden.

  • abortSignal : Een signaal dat wordt gebruikt om de enqueueEvent-bewerking te annuleren.
  • partitionId : de partitie waarnaar deze set gebeurtenissen wordt verzonden. Indien ingesteld, partitionKey kan niet worden ingesteld.
  • partitionKey : Een waarde die wordt gehasht om een partitietoewijzing te produceren. Indien ingesteld, partitionId kan niet worden ingesteld.

Retouren

Promise<number>

Het totale aantal gebeurtenissen dat momenteel is gebufferd en wacht om te worden gepubliceerd, voor alle partities.

enqueueEvents(EventData[] | AmqpAnnotatedMessage[], EnqueueEventOptions)

Hiermee worden gebeurtenissen in de buffer geplaatst die moeten worden gepubliceerd naar de Event Hub. Als er geen capaciteit in de buffer is wanneer deze methode wordt aangeroepen, wordt gewacht tot er ruimte beschikbaar is en wordt ervoor gezorgd dat de gebeurtenissen zijn beëindigd.

Wanneer deze aanroep wordt geretourneerd, zijn de gebeurtenissen geaccepteerd in de buffer, maar zijn deze mogelijk nog niet gepubliceerd. De publicatie vindt in de toekomst plaats op een niet-deterministisch punt wanneer de buffer wordt verwerkt.

function enqueueEvents(events: EventData[] | AmqpAnnotatedMessage[], options?: EnqueueEventOptions): Promise<number>

Parameters

events

EventData[] | AmqpAnnotatedMessage[]

Een matrix van EventData of AmqpAnnotatedMessage.

options
EnqueueEventOptions

Een set opties die kunnen worden opgegeven om de manier te beïnvloeden waarop gebeurtenissen naar de bijbehorende Event Hub worden verzonden.

  • abortSignal : Een signaal dat wordt gebruikt om de enqueueEvents-bewerking te annuleren.
  • partitionId : de partitie waarnaar deze set gebeurtenissen wordt verzonden. Indien ingesteld, partitionKey kan niet worden ingesteld.
  • partitionKey : Een waarde die wordt gehasht om een partitietoewijzing te produceren. Indien ingesteld, partitionId kan niet worden ingesteld.

Retouren

Promise<number>

Het totale aantal gebeurtenissen dat momenteel is gebufferd en wacht om te worden gepubliceerd, voor alle partities.

flush(BufferedFlushOptions)

Probeert alle gebeurtenissen in de buffer onmiddellijk te publiceren. Dit kan ertoe leiden dat meerdere batches worden gepubliceerd, waarvan het resultaat afzonderlijk wordt gerapporteerd door de onSendEventsSuccessHandler handlers en onSendEventsErrorHandler .

function flush(options?: BufferedFlushOptions): Promise<void>

Parameters

options
BufferedFlushOptions

De set opties die moeten worden toegepast op de bewerkingsoproep.

Retouren

Promise<void>

getEventHubProperties(GetEventHubPropertiesOptions)

Bevat de informatie over de Event Hub-runtime.

function getEventHubProperties(options?: GetEventHubPropertiesOptions): Promise<EventHubProperties>

Parameters

options
GetEventHubPropertiesOptions

De set opties die moeten worden toegepast op de bewerkingsoproep.

Retouren

Een belofte die wordt opgelost met informatie over het Event Hub-exemplaar.

getPartitionIds(GetPartitionIdsOptions)

Geeft de id op voor elke partitie die is gekoppeld aan de Event Hub.

function getPartitionIds(options?: GetPartitionIdsOptions): Promise<string[]>

Parameters

options
GetPartitionIdsOptions

De set opties die moeten worden toegepast op de bewerkingsoproep.

Retouren

Promise<string[]>

Een belofte die wordt omgezet met een matrix van tekenreeksen die de id vertegenwoordigen voor elke partitie die is gekoppeld aan de Event Hub.

getPartitionProperties(string, GetPartitionPropertiesOptions)

Bevat informatie over de status van de opgegeven partitie.

function getPartitionProperties(partitionId: string, options?: GetPartitionPropertiesOptions): Promise<PartitionProperties>

Parameters

partitionId

string

De id van de partitie waarvoor informatie is vereist.

options
GetPartitionPropertiesOptions

De set opties die moeten worden toegepast op de bewerkingsoproep.

Retouren

Een belofte die wordt omgezet met informatie over de status van de partitie .