EventHubBufferedProducerClient class
De EventHubBufferedProducerClient
wordt 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 enonSendEventsErrorHandler
. - 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
Event |
De |
Event |
De |
Event |
De |
Eigenschappen
event |
De naam van het Event Hub-exemplaar waarvoor deze client is gemaakt. |
fully |
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(Buffered |
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 |
enqueue |
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. |
enqueue |
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(Buffered |
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 |
get |
Bevat de informatie over de Event Hub-runtime. |
get |
Geeft de id op voor elke partitie die is gekoppeld aan de Event Hub. |
get |
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'.
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.
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
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
.
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
- event
- 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
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
Promise<EventHubProperties>
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
Promise<PartitionProperties>
Een belofte die wordt omgezet met informatie over de status van de partitie .