Condividi tramite


EventHubBufferedProducerClient class

Viene EventHubBufferedProducerClientusato per pubblicare eventi in un hub eventi specifico.

L'oggetto EventHubBufferedProducerClient non pubblica immediatamente gli eventi. Gli eventi vengono invece memorizzati nel buffer in modo che possano essere in batch in modo efficiente e pubblicati quando il batch è pieno o che maxWaitTimeInMs non è trascorso alcun nuovo evento.

A seconda delle opzioni specificate quando gli eventi vengono accodati, possono essere assegnati automaticamente a una partizione, raggruppata in base alla chiave di partizione specificata o assegnata a una partizione specificata.

Questo modello è destinato a spostare il carico di gestione batch dai chiamanti, a costo di tempi non deterministici, per quando gli eventi verranno pubblicati. Ci sono altri compromessi da considerare, così come:

  • Se l'applicazione si arresta in modo anomalo, gli eventi nel buffer non saranno stati pubblicati. Per evitare la perdita di dati, i chiamanti sono invitati a tenere traccia dello stato di avanzamento della pubblicazione usando i onSendEventsSuccessHandler gestori e onSendEventsErrorHandler .
  • Gli eventi che specificano una chiave di partizione possono essere assegnati a una partizione diversa rispetto a quelle che usano la stessa chiave con altri produttori.
  • Nel caso improbabile che una partizione diventi temporaneamente non disponibile, potrebbe EventHubBufferedProducerClient richiedere più tempo per il ripristino rispetto ad altri produttori.

Negli scenari in cui è importante avere eventi pubblicati immediatamente con un risultato deterministico, assicurarsi che le chiavi di partizione vengano assegnate a una partizione coerente con altri editori o in cui la massima disponibilità sia un requisito, usando l'opzione EventHubProducerClient consigliata.

Costruttori

EventHubBufferedProducerClient(string, EventHubBufferedProducerClientOptions)

La EventHubBufferedProducerClient classe viene usata per inviare eventi a un hub eventi. Usare il parmeter per configurare i options criteri di ripetizione dei tentativi o le impostazioni proxy.

EventHubBufferedProducerClient(string, string, EventHubBufferedProducerClientOptions)

La EventHubBufferedProducerClient classe viene usata per inviare eventi a un hub eventi. Usare il parmeter per configurare i options criteri di ripetizione dei tentativi o le impostazioni proxy.

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

La EventHubBufferedProducerClient classe viene usata per inviare eventi a un hub eventi. Usare il parmeter per configurare i options criteri di ripetizione dei tentativi o le impostazioni proxy.

Proprietà

eventHubName

Nome dell'istanza di Hub eventi per cui viene creato il client.

fullyQualifiedNamespace

Spazio dei nomi completo dell'istanza di Hub eventi per cui viene creato il client. È probabile che sia simile a .servicebus.windows.net.

identifier

Nome utilizzato per identificare questo oggetto EventHubBufferedProducerClient. Se non specificato o vuoto, verrà generato un univoco casuale.

Metodi

close(BufferedCloseOptions)

Chiude la connessione AMQP all'istanza dell'hub eventi, restituendo una promessa che verrà risolta al termine della disconnessione.

Questo attenderà che gli eventi accodati vengano scaricati nel servizio prima di chiudere la connessione. Per chiudere senza scaricare, impostare l'opzione flush su false.

enqueueEvent(EventData | AmqpAnnotatedMessage, EnqueueEventOptions)

Inserisce un evento nel buffer da pubblicare nell'hub eventi. Se non è presente alcuna capacità nel buffer quando questo metodo viene richiamato, lo spazio sarà in attesa che lo spazio diventi disponibile e assicurarsi che l'evento sia stato accodato.

Quando questa chiamata viene restituita, l'evento è stato accettato nel buffer, ma potrebbe non essere stato ancora pubblicato. La pubblicazione verrà eseguita in un punto non terministico in futuro perché il buffer viene elaborato.

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

Inserisce gli eventi nel buffer da pubblicare nell'hub eventi. Se non è presente alcuna capacità nel buffer quando viene richiamato questo metodo, lo spazio sarà in attesa di essere disponibile e assicurarsi che gli eventi siano stati accodati.

Quando questa chiamata viene restituita, gli eventi sono stati accettati nel buffer, ma potrebbero non essere ancora stati pubblicati. La pubblicazione verrà eseguita in un punto non terministico in futuro perché il buffer viene elaborato.

flush(BufferedFlushOptions)

Tenta di pubblicare immediatamente tutti gli eventi nel buffer. Ciò può comportare la pubblicazione di più batch, il risultato di ognuno dei quali verrà segnalato singolarmente dai onSendEventsSuccessHandler gestori e onSendEventsErrorHandler .

getEventHubProperties(GetEventHubPropertiesOptions)

Fornisce le informazioni di runtime dell'hub eventi.

getPartitionIds(GetPartitionIdsOptions)

Fornisce l'ID per ogni partizione associata all'hub eventi.

getPartitionProperties(string, GetPartitionPropertiesOptions)

Fornisce informazioni sullo stato della partizione specificata.

Dettagli costruttore

EventHubBufferedProducerClient(string, EventHubBufferedProducerClientOptions)

La EventHubBufferedProducerClient classe viene usata per inviare eventi a un hub eventi. Usare il parmeter per configurare i options criteri di ripetizione dei tentativi o le impostazioni proxy.

new EventHubBufferedProducerClient(connectionString: string, options: EventHubBufferedProducerClientOptions)

Parametri

connectionString

string

Stringa di connessione da usare per la connessione all'istanza di Hub eventi. Si prevede che le proprietà della chiave condivisa e il percorso dell'hub eventi siano contenuti in questa stringa di connessione. Ad esempio, 'Endpoint=sb://my-servicebus-namespace.servicebus.windows.net/;SharedAccessKeyName=my-SA-name; SharedAccessKey=my-SA-key; EntityPath=my-event-hub-name'.

options
EventHubBufferedProducerClientOptions

Set di opzioni da applicare durante la configurazione del client.

  • retryOptions : configura i criteri di ripetizione dei tentativi per tutte le operazioni nel client. Ad esempio, { "maxRetries": 4 } o { "maxRetries": 4, "retryDelayInMs": 30000 }.
  • webSocketOptions: configura il canale della connessione AMQP su Web Sockets.
  • userAgent : stringa da aggiungere alla stringa predefinita dell'agente utente passata al servizio.

EventHubBufferedProducerClient(string, string, EventHubBufferedProducerClientOptions)

La EventHubBufferedProducerClient classe viene usata per inviare eventi a un hub eventi. Usare il parmeter per configurare i options criteri di ripetizione dei tentativi o le impostazioni proxy.

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

Parametri

connectionString

string

Stringa di connessione da usare per la connessione allo spazio dei nomi hub eventi. Si prevede che le proprietà della chiave condivisa siano contenute in questa stringa di connessione, ma non il percorso dell'hub eventi, ad esempio 'Endpoint=sb://my-servicebus-namespace.servicebus.windows.net/;SharedAccessKeyName=my-SA-name; SharedAccessKey=my-SA-key;'.

eventHubName

string

Nome dell'hub eventi specifico a cui connettere il client.

options
EventHubBufferedProducerClientOptions

Set di opzioni da applicare durante la configurazione del client.

  • retryOptions : configura i criteri di ripetizione dei tentativi per tutte le operazioni nel client. Ad esempio, { "maxRetries": 4 } o { "maxRetries": 4, "retryDelayInMs": 30000 }.
  • webSocketOptions: configura il canale della connessione AMQP su Web Sockets.
  • userAgent : stringa da aggiungere alla stringa predefinita dell'agente utente passata al servizio.

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

La EventHubBufferedProducerClient classe viene usata per inviare eventi a un hub eventi. Usare il parmeter per configurare i options criteri di ripetizione dei tentativi o le impostazioni proxy.

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

Parametri

fullyQualifiedNamespace

string

Spazio dei nomi completo che probabilmente è simile a .servicebus.windows.net

eventHubName

string

Nome dell'hub eventi specifico a cui connettere il client.

credential

TokenCredential | NamedKeyCredential | SASCredential

Oggetto credenziale usato dal client per ottenere il token per autenticare la connessione con il servizio Hub eventi di Azure. Vedere @azure/identity per la creazione di credenziali che supportano l'autenticazione AAD. Usare l'oggetto AzureNamedKeyCredential da @azure/core-auth se si vuole passare un SharedAccessKeyName oggetto e SharedAccessKey senza usare una stringa di connessione. Questi campi vengono mappati rispettivamente al name campo e key in AzureNamedKeyCredential. Usare l'oggetto AzureSASCredential da @azure/core-auth se si vuole passare un SharedAccessSignature oggetto senza usare una stringa di connessione. Questo campo viene mappato a signature in AzureSASCredential.

options
EventHubBufferedProducerClientOptions

Set di opzioni da applicare durante la configurazione del client.

  • retryOptions : configura i criteri di ripetizione dei tentativi per tutte le operazioni nel client. Ad esempio, { "maxRetries": 4 } o { "maxRetries": 4, "retryDelayInMs": 30000 }.
  • webSocketOptions: configura il canale della connessione AMQP su Web Sockets.
  • userAgent : stringa da aggiungere alla stringa predefinita dell'agente utente passata al servizio.

Dettagli proprietà

eventHubName

Nome dell'istanza di Hub eventi per cui viene creato il client.

string eventHubName

Valore della proprietà

string

fullyQualifiedNamespace

Spazio dei nomi completo dell'istanza di Hub eventi per cui viene creato il client. È probabile che sia simile a .servicebus.windows.net.

string fullyQualifiedNamespace

Valore della proprietà

string

identifier

Nome utilizzato per identificare questo oggetto EventHubBufferedProducerClient. Se non specificato o vuoto, verrà generato un univoco casuale.

identifier: string

Valore della proprietà

string

Dettagli metodo

close(BufferedCloseOptions)

Chiude la connessione AMQP all'istanza dell'hub eventi, restituendo una promessa che verrà risolta al termine della disconnessione.

Questo attenderà che gli eventi accodati vengano scaricati nel servizio prima di chiudere la connessione. Per chiudere senza scaricare, impostare l'opzione flush su false.

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

Parametri

options
BufferedCloseOptions

Set di opzioni da applicare alla chiamata all'operazione.

Restituisce

Promise<void>

Promise

enqueueEvent(EventData | AmqpAnnotatedMessage, EnqueueEventOptions)

Inserisce un evento nel buffer da pubblicare nell'hub eventi. Se non è presente alcuna capacità nel buffer quando questo metodo viene richiamato, lo spazio sarà in attesa che lo spazio diventi disponibile e assicurarsi che l'evento sia stato accodato.

Quando questa chiamata viene restituita, l'evento è stato accettato nel buffer, ma potrebbe non essere stato ancora pubblicato. La pubblicazione verrà eseguita in un punto non terministico in futuro perché il buffer viene elaborato.

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

Parametri

options
EnqueueEventOptions

Set di opzioni che possono essere specificate per influenzare il modo in cui l'evento viene inviato all'hub eventi associato.

  • abortSignal : segnale usato per annullare l'operazione enqueueEvent.
  • partitionId : la partizione a cui verrà inviato questo set di eventi. Se impostato, partitionKey non è possibile impostare.
  • partitionKey : valore hashed per produrre un'assegnazione di partizione. Se impostato, partitionId non è possibile impostare.

Restituisce

Promise<number>

Numero totale di eventi attualmente memorizzati nel buffer e in attesa di pubblicazione, in tutte le partizioni.

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

Inserisce gli eventi nel buffer da pubblicare nell'hub eventi. Se non è presente alcuna capacità nel buffer quando viene richiamato questo metodo, lo spazio sarà in attesa di essere disponibile e assicurarsi che gli eventi siano stati accodati.

Quando questa chiamata viene restituita, gli eventi sono stati accettati nel buffer, ma potrebbero non essere ancora stati pubblicati. La pubblicazione verrà eseguita in un punto non terministico in futuro perché il buffer viene elaborato.

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

Parametri

events

EventData[] | AmqpAnnotatedMessage[]

Matrice di EventData o AmqpAnnotatedMessage.

options
EnqueueEventOptions

Set di opzioni che possono essere specificate per influenzare il modo in cui gli eventi vengono inviati all'hub eventi associato.

  • abortSignal : segnale usato per annullare l'operazione enqueueEvents.
  • partitionId : la partizione a cui verrà inviato questo set di eventi. Se impostato, partitionKey non è possibile impostare.
  • partitionKey : valore hashed per produrre un'assegnazione di partizione. Se impostato, partitionId non è possibile impostare.

Restituisce

Promise<number>

Numero totale di eventi attualmente memorizzati nel buffer e in attesa di pubblicazione, in tutte le partizioni.

flush(BufferedFlushOptions)

Tenta di pubblicare immediatamente tutti gli eventi nel buffer. Ciò può comportare la pubblicazione di più batch, il risultato di ognuno dei quali verrà segnalato singolarmente dai onSendEventsSuccessHandler gestori e onSendEventsErrorHandler .

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

Parametri

options
BufferedFlushOptions

Set di opzioni da applicare alla chiamata all'operazione.

Restituisce

Promise<void>

getEventHubProperties(GetEventHubPropertiesOptions)

Fornisce le informazioni di runtime dell'hub eventi.

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

Parametri

options
GetEventHubPropertiesOptions

Set di opzioni da applicare alla chiamata all'operazione.

Restituisce

Promessa che risolve con informazioni sull'istanza di Hub eventi.

getPartitionIds(GetPartitionIdsOptions)

Fornisce l'ID per ogni partizione associata all'hub eventi.

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

Parametri

options
GetPartitionIdsOptions

Set di opzioni da applicare alla chiamata all'operazione.

Restituisce

Promise<string[]>

Promessa che viene risolta con una matrice di stringhe che rappresentano l'ID per ogni partizione associata all'hub eventi.

getPartitionProperties(string, GetPartitionPropertiesOptions)

Fornisce informazioni sullo stato della partizione specificata.

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

Parametri

partitionId

string

ID della partizione per cui sono necessarie informazioni.

options
GetPartitionPropertiesOptions

Set di opzioni da applicare alla chiamata all'operazione.

Restituisce

Promessa che risolve con informazioni sullo stato della partizione .