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

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 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 aanvullende afwegingen 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 voortgang van het publiceren bij te houden met behulp van de onSendEventsSuccessHandler en onSendEventsErrorHandler handlers.
  • Gebeurtenissen die een partitiesleutel opgeven, kunnen aan een andere partitie worden toegewezen dan aan gebeurtenissen die dezelfde sleutel gebruiken bij 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 dat gebeurtenissen onmiddellijk worden gepubliceerd 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, met behulp van de EventHubProducerClient wordt aanbevolen.

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 proxyinstellingen 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 proxyinstellingen 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 proxyinstellingen te configureren.

Eigenschappen

eventHubName

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

fullyQualifiedNamespace

De volledig gekwalificeerde naamruimte van het Event Hub-exemplaar waarvoor deze client wordt 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 er enqueued gebeurtenissen naar de service worden leeggemaakt voordat de verbinding wordt gesloten. Als u wilt sluiten zonder te leegmaken, stelt u de optie flush in op false.

enqueueEvent(EventData | AmqpAnnotatedMessage, EnqueueEventOptions)

Enqueues een gebeurtenis in de buffer die moet worden gepubliceerd naar de Event Hub. Als er geen capaciteit in de buffer is wanneer deze methode wordt aangeroepen, wacht deze tot er ruimte beschikbaar is en zorgt u ervoor dat de gebeurtenis is geïnventueerd.

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

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

Enqueues-gebeurtenissen in de buffer die moeten worden gepubliceerd naar de Event Hub. Als er geen capaciteit in de buffer is wanneer deze methode wordt aangeroepen, wacht deze tot er ruimte beschikbaar is en zorgt u ervoor dat de gebeurtenissen zijn geïntensueerd.

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

flush(BufferedFlushOptions)

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

getEventHubProperties(GetEventHubPropertiesOptions)

Biedt 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 proxyinstellingen te configureren.

new EventHubBufferedProducerClient(connectionString: string, options: EventHubBufferedProducerClientOptions)

Parameters

connectionString

string

De verbindingsreeks die moet worden gebruikt om verbinding te maken met het Event Hub-exemplaar. Er wordt verwacht dat de eigenschappen van de gedeelde sleutel en het Event Hub-pad zich in deze verbindingsreeks bevinden. 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 set 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 kanaalling 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.

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 proxyinstellingen te configureren.

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

Parameters

connectionString

string

De verbindingsreeks die moet worden gebruikt om verbinding te maken met de Event Hubs-naamruimte. Er wordt verwacht dat de eigenschappen van de gedeelde sleutel zijn opgenomen in deze verbindingsreeks, maar niet 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 moet worden verbonden.

options
EventHubBufferedProducerClientOptions

Een set 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 kanaalling 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.

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 proxyinstellingen 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 moet worden verbonden.

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/identiteit voor het maken van referenties die ondersteuning bieden voor AAD-verificatie. Gebruik de AzureNamedKeyCredential van @azure/core-verificatie als u een SharedAccessKeyName en SharedAccessKey wilt doorgeven zonder een verbindingsreeks te gebruiken. Deze velden worden respectievelijk toegewezen aan het name- en key veld in AzureNamedKeyCredential. Gebruik de AzureSASCredential van @azure/core-verificatie als u een SharedAccessSignature wilt doorgeven zonder een verbindingsreeks te gebruiken. Dit veld wordt toegewezen aan signature in AzureSASCredential.

options
EventHubBufferedProducerClientOptions

Een set 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 kanaalling 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 wordt gemaakt.

string eventHubName

Waarde van eigenschap

string

fullyQualifiedNamespace

De volledig gekwalificeerde naamruimte van het Event Hub-exemplaar waarvoor deze client wordt 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 er enqueued gebeurtenissen naar de service worden leeggemaakt voordat de verbinding wordt gesloten. Als u wilt sluiten zonder te leegmaken, stelt u de optie flush 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>

Beloven

enqueueEvent(EventData | AmqpAnnotatedMessage, EnqueueEventOptions)

Enqueues een gebeurtenis in de buffer die moet worden gepubliceerd naar de Event Hub. Als er geen capaciteit in de buffer is wanneer deze methode wordt aangeroepen, wacht deze tot er ruimte beschikbaar is en zorgt u ervoor dat de gebeurtenis is geïnventueerd.

Wanneer deze aanroep wordt geretourneerd, is de gebeurtenis geaccepteerd in de buffer, maar is deze mogelijk nog niet gepubliceerd. De publicatie vindt plaats op een niet-deterministisch punt in de toekomst 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 waarop de gebeurtenis naar de bijbehorende Event Hub wordt verzonden te beïnvloeden.

  • abortSignal: Een signaal dat wordt gebruikt om de bewerking enqueueEvent te annuleren.
  • partitionId: de partitie naar deze reeks gebeurtenissen wordt verzonden. Als deze optie is ingesteld, kan partitionKey niet worden ingesteld.
  • partitionKey: een waarde die is gehasht om een partitietoewijzing te produceren. Als deze optie is ingesteld, kan partitionId niet worden ingesteld.

Retouren

Promise<number>

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

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

Enqueues-gebeurtenissen in de buffer die moeten worden gepubliceerd naar de Event Hub. Als er geen capaciteit in de buffer is wanneer deze methode wordt aangeroepen, wacht deze tot er ruimte beschikbaar is en zorgt u ervoor dat de gebeurtenissen zijn geïntensueerd.

Wanneer deze aanroep wordt geretourneerd, zijn de gebeurtenissen in de buffer geaccepteerd, maar is deze mogelijk nog niet gepubliceerd. De publicatie vindt plaats op een niet-deterministisch punt in de toekomst 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 worden verzonden naar de bijbehorende Event Hub.

  • abortSignal: een signaal dat wordt gebruikt om de bewerking enqueueEvents te annuleren.
  • partitionId: de partitie naar deze reeks gebeurtenissen wordt verzonden. Als deze optie is ingesteld, kan partitionKey niet worden ingesteld.
  • partitionKey: een waarde die is gehasht om een partitietoewijzing te produceren. Als deze optie is ingesteld, kan partitionId niet worden ingesteld.

Retouren

Promise<number>

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

flush(BufferedFlushOptions)

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

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

Parameters

options
BufferedFlushOptions

De set opties die moeten worden toegepast op de bewerkingsoproep.

Retouren

Promise<void>

getEventHubProperties(GetEventHubPropertiesOptions)

Biedt 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 omgezet 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 met 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.