Dela via


EventHubBufferedProducerClient class

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.

Konstruktorer

EventHubBufferedProducerClient(string, EventHubBufferedProducerClientOptions)

Klassen EventHubBufferedProducerClient används för att skicka händelser till en händelsehubb. Använd parmetern options för att konfigurera inställningar för återförsök eller proxy.

EventHubBufferedProducerClient(string, string, EventHubBufferedProducerClientOptions)

Klassen EventHubBufferedProducerClient används för att skicka händelser till en händelsehubb. Använd parmetern options för att konfigurera inställningar för återförsök eller proxy.

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

Klassen EventHubBufferedProducerClient används för att skicka händelser till en händelsehubb. Använd parmetern options för att konfigurera inställningar för återförsök eller proxy.

Egenskaper

eventHubName

Namnet på den Event Hub-instans som klienten skapas för.

fullyQualifiedNamespace

Det fullständigt kvalificerade namnområdet för den Event Hub-instans som klienten har skapats för. Detta liknar troligen .servicebus.windows.net.

identifier

Namnet som används för att identifiera denna EventHubBufferedProducerClient. Om det inte anges eller är tomt genereras en slumpmässig unik.

Metoder

close(BufferedCloseOptions)

Stänger AMQP-anslutningen till Event Hub-instansen och returnerar ett löfte som kommer att lösas när frånkopplingen har slutförts.

Detta väntar tills enqueued-händelser rensas till tjänsten innan anslutningen stängs. Om du vill stänga utan tömning anger du alternativet flush till false.

enqueueEvent(EventData | AmqpAnnotatedMessage, EnqueueEventOptions)

Lägger till en händelse i bufferten som ska publiceras till händelsehubben. Om det inte finns någon kapacitet i bufferten när den här metoden anropas väntar den på att utrymmet ska bli tillgängligt och se till att händelsen har angetts.

När det här anropet returneras har händelsen accepterats i bufferten, men den kanske inte har publicerats ännu. Publiceringen sker vid en nondeterministisk tidpunkt i framtiden när bufferten bearbetas.

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

Lägger till händelser i bufferten som ska publiceras till händelsehubben. Om det inte finns någon kapacitet i bufferten när den här metoden anropas väntar den på att utrymmet ska bli tillgängligt och se till att händelserna har angetts.

När det här anropet returneras har händelserna accepterats i bufferten, men de kanske inte har publicerats ännu. Publiceringen sker vid en nondeterministisk tidpunkt i framtiden när bufferten bearbetas.

flush(BufferedFlushOptions)

Försöker publicera alla händelser i bufferten omedelbart. Detta kan leda till att flera batchar publiceras, vars resultat rapporteras individuellt av onSendEventsSuccessHandler- och onSendEventsErrorHandler-hanterare.

getEventHubProperties(GetEventHubPropertiesOptions)

Innehåller information om Event Hub-körning.

getPartitionIds(GetPartitionIdsOptions)

Tillhandahåller ID:t för varje partition som är associerad med händelsehubben.

getPartitionProperties(string, GetPartitionPropertiesOptions)

Innehåller information om tillståndet för den angivna partitionen.

Konstruktorinformation

EventHubBufferedProducerClient(string, EventHubBufferedProducerClientOptions)

Klassen EventHubBufferedProducerClient används för att skicka händelser till en händelsehubb. Använd parmetern options för att konfigurera inställningar för återförsök eller proxy.

new EventHubBufferedProducerClient(connectionString: string, options: EventHubBufferedProducerClientOptions)

Parametrar

connectionString

string

Anslutningssträngen som ska användas för att ansluta till Event Hub-instansen. Det förväntas att egenskaperna för delad nyckel och händelsehubbens sökväg finns i den här anslutningssträngen. e.g. 'Endpoint=sb://my-servicebus-namespace.servicebus.windows.net/; SharedAccessKeyName=my-SA-name; SharedAccessKey=my-SA-key; EntityPath=my-event-hub-name'.

options
EventHubBufferedProducerClientOptions

En uppsättning alternativ som ska användas när klienten konfigureras.

  • retryOptions : Konfigurerar återförsöksprincipen för alla åtgärder på klienten. Till exempel { "maxRetries": 4 } eller { "maxRetries": 4, "retryDelayInMs": 30000 }.
  • webSocketOptions: Konfigurerar kanalisering av AMQP-anslutningen via Web Sockets.
  • userAgent : En sträng som ska läggas till i den inbyggda användaragentsträngen som skickas till tjänsten.

EventHubBufferedProducerClient(string, string, EventHubBufferedProducerClientOptions)

Klassen EventHubBufferedProducerClient används för att skicka händelser till en händelsehubb. Använd parmetern options för att konfigurera inställningar för återförsök eller proxy.

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

Parametrar

connectionString

string

Anslutningssträngen som ska användas för att ansluta till Event Hubs-namnområdet. Det förväntas att egenskaperna för den delade nyckeln finns i den här anslutningssträngen, men inte sökvägen till händelsehubben, t.ex. "Endpoint=sb://my-servicebus-namespace.servicebus.windows.net/; SharedAccessKeyName=my-SA-name; SharedAccessKey=my-SA-key;'.

eventHubName

string

Namnet på den specifika händelsehubb som klienten ska anslutas till.

options
EventHubBufferedProducerClientOptions

En uppsättning alternativ som ska användas när klienten konfigureras.

  • retryOptions : Konfigurerar återförsöksprincipen för alla åtgärder på klienten. Till exempel { "maxRetries": 4 } eller { "maxRetries": 4, "retryDelayInMs": 30000 }.
  • webSocketOptions: Konfigurerar kanalisering av AMQP-anslutningen via Web Sockets.
  • userAgent : En sträng som ska läggas till i den inbyggda användaragentsträngen som skickas till tjänsten.

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

Klassen EventHubBufferedProducerClient används för att skicka händelser till en händelsehubb. Använd parmetern options för att konfigurera inställningar för återförsök eller proxy.

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

Parametrar

fullyQualifiedNamespace

string

Det fullständiga namnområdet som sannolikt liknar .servicebus.windows.net

eventHubName

string

Namnet på den specifika händelsehubb som klienten ska anslutas till.

credential

TokenCredential | NamedKeyCredential | SASCredential

Ett autentiseringsobjekt som används av klienten för att hämta token för att autentisera anslutningen till Azure Event Hubs-tjänsten. Se @azure/identitet för att skapa autentiseringsuppgifter som stöder AAD-autentisering. Använd AzureNamedKeyCredential från @azure/core-auth om du vill skicka in en SharedAccessKeyName och SharedAccessKey utan att använda en anslutningssträng. Fälten mappas till fältet name respektive key i AzureNamedKeyCredential. Använd AzureSASCredential från @azure/core-auth om du vill skicka in en SharedAccessSignature utan att använda en anslutningssträng. Det här fältet mappar till signature i AzureSASCredential.

options
EventHubBufferedProducerClientOptions

En uppsättning alternativ som ska användas när klienten konfigureras.

  • retryOptions : Konfigurerar återförsöksprincipen för alla åtgärder på klienten. Till exempel { "maxRetries": 4 } eller { "maxRetries": 4, "retryDelayInMs": 30000 }.
  • webSocketOptions: Konfigurerar kanalisering av AMQP-anslutningen via Web Sockets.
  • userAgent : En sträng som ska läggas till i den inbyggda användaragentsträngen som skickas till tjänsten.

Egenskapsinformation

eventHubName

Namnet på den Event Hub-instans som klienten skapas för.

string eventHubName

Egenskapsvärde

string

fullyQualifiedNamespace

Det fullständigt kvalificerade namnområdet för den Event Hub-instans som klienten har skapats för. Detta liknar troligen .servicebus.windows.net.

string fullyQualifiedNamespace

Egenskapsvärde

string

identifier

Namnet som används för att identifiera denna EventHubBufferedProducerClient. Om det inte anges eller är tomt genereras en slumpmässig unik.

identifier: string

Egenskapsvärde

string

Metodinformation

close(BufferedCloseOptions)

Stänger AMQP-anslutningen till Event Hub-instansen och returnerar ett löfte som kommer att lösas när frånkopplingen har slutförts.

Detta väntar tills enqueued-händelser rensas till tjänsten innan anslutningen stängs. Om du vill stänga utan tömning anger du alternativet flush till false.

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

Parametrar

options
BufferedCloseOptions

Den uppsättning alternativ som ska tillämpas på åtgärdsanropet.

Returer

Promise<void>

Löfte

enqueueEvent(EventData | AmqpAnnotatedMessage, EnqueueEventOptions)

Lägger till en händelse i bufferten som ska publiceras till händelsehubben. Om det inte finns någon kapacitet i bufferten när den här metoden anropas väntar den på att utrymmet ska bli tillgängligt och se till att händelsen har angetts.

När det här anropet returneras har händelsen accepterats i bufferten, men den kanske inte har publicerats ännu. Publiceringen sker vid en nondeterministisk tidpunkt i framtiden när bufferten bearbetas.

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

Parametrar

options
EnqueueEventOptions

En uppsättning alternativ som kan anges för att påverka hur händelsen skickas till den associerade händelsehubben.

  • abortSignal : En signal som används för att avbryta åtgärden enqueueEvent.
  • partitionId : Partitionen som den här uppsättningen händelser skickas till. Om inställningen är inställd kan partitionKey inte anges.
  • partitionKey : Ett värde som hashas för att skapa en partitionstilldelning. Om inställningen är inställd kan partitionId inte anges.

Returer

Promise<number>

Det totala antalet händelser som för närvarande är buffrade och väntar på att publiceras över alla partitioner.

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

Lägger till händelser i bufferten som ska publiceras till händelsehubben. Om det inte finns någon kapacitet i bufferten när den här metoden anropas väntar den på att utrymmet ska bli tillgängligt och se till att händelserna har angetts.

När det här anropet returneras har händelserna accepterats i bufferten, men de kanske inte har publicerats ännu. Publiceringen sker vid en nondeterministisk tidpunkt i framtiden när bufferten bearbetas.

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

Parametrar

events

EventData[] | AmqpAnnotatedMessage[]

En matris med EventData eller AmqpAnnotatedMessage.

options
EnqueueEventOptions

En uppsättning alternativ som kan anges för att påverka hur händelser skickas till den associerade händelsehubben.

  • abortSignal : En signal som används för att avbryta åtgärden enqueueEvents.
  • partitionId : Partitionen som den här uppsättningen händelser skickas till. Om inställningen är inställd kan partitionKey inte anges.
  • partitionKey : Ett värde som hashas för att skapa en partitionstilldelning. Om inställningen är inställd kan partitionId inte anges.

Returer

Promise<number>

Det totala antalet händelser som för närvarande är buffrade och väntar på att publiceras över alla partitioner.

flush(BufferedFlushOptions)

Försöker publicera alla händelser i bufferten omedelbart. Detta kan leda till att flera batchar publiceras, vars resultat rapporteras individuellt av onSendEventsSuccessHandler- och onSendEventsErrorHandler-hanterare.

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

Parametrar

options
BufferedFlushOptions

Den uppsättning alternativ som ska tillämpas på åtgärdsanropet.

Returer

Promise<void>

getEventHubProperties(GetEventHubPropertiesOptions)

Innehåller information om Event Hub-körning.

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

Parametrar

options
GetEventHubPropertiesOptions

Den uppsättning alternativ som ska tillämpas på åtgärdsanropet.

Returer

Ett löfte som matchar med information om Event Hub-instansen.

getPartitionIds(GetPartitionIdsOptions)

Tillhandahåller ID:t för varje partition som är associerad med händelsehubben.

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

Parametrar

options
GetPartitionIdsOptions

Den uppsättning alternativ som ska tillämpas på åtgärdsanropet.

Returer

Promise<string[]>

Ett löfte som matchar med en matris med strängar som representerar ID:t för varje partition som är associerad med händelsehubben.

getPartitionProperties(string, GetPartitionPropertiesOptions)

Innehåller information om tillståndet för den angivna partitionen.

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

Parametrar

partitionId

string

ID:t för partitionen för vilken information krävs.

options
GetPartitionPropertiesOptions

Den uppsättning alternativ som ska tillämpas på åtgärdsanropet.

Returer

Ett löfte som matchar med information om partitionens tillstånd .