EventHubBufferedProducerClient class
Viene EventHubBufferedProducerClient
usato 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 eonSendEventsErrorHandler
. - 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
Event |
La |
Event |
La |
Event |
La |
Proprietà
event |
Nome dell'istanza di Hub eventi per cui viene creato il client. |
fully |
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(Buffered |
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 |
enqueue |
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. |
enqueue |
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(Buffered |
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 |
get |
Fornisce le informazioni di runtime dell'hub eventi. |
get |
Fornisce l'ID per ogni partizione associata all'hub eventi. |
get |
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'.
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.
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
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
.
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
- event
- 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
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
Promise<EventHubProperties>
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
Promise<PartitionProperties>
Promessa che risolve con informazioni sullo stato della partizione .