EventHubProducerClient class
La EventHubProducerClient
classe viene usata per inviare eventi a un hub eventi.
Esistono più modi per creare un oggetto EventHubProducerClient
- Usare la stringa di connessione dal criterio sas creato per l'istanza di Hub eventi.
- Usare la stringa di connessione dal criterio sas creato per lo spazio dei nomi dell'hub eventi e il nome dell'istanza di Hub eventi
- Usare lo spazio dei nomi completo, ad esempio
<yournamespace>.servicebus.windows.net
, e un oggetto credenziali.
Facoltativamente, è anche possibile passare un contenitore di opzioni per configurare i criteri di ripetizione dei tentativi o le impostazioni proxy.
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 usato per identificare questo oggetto EventHubProducerClient. Se non specificato o vuoto, verrà generato un univoco casuale. |
Metodi
close() | Chiude la connessione AMQP all'istanza dell'hub eventi, restituendo una promessa che verrà risolta al termine della disconnessione. |
create |
Crea un'istanza di Gli eventi con valori diversi per partitionKey o partitionId dovranno essere inseriti in batch diversi.
Per semplificare la gestione batch tra partizioni o per avere automaticamente gli eventi batch del client e inviarli in intervalli specifici, usare Nell'esempio seguente si presuppone che sia disponibile una matrice di eventi a portata di mano per essere in batch in modo sicuro.
Se si hanno eventi in arrivo uno per uno per uno, Esempio di utilizzo:
|
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. |
send |
Invia un batch di eventi creati usando Gli eventi con valori diversi per partitionKey o partitionId dovranno essere inseriti in batch diversi.
Per semplificare la gestione batch tra partizioni o per avere automaticamente gli eventi batch del client e inviarli in intervalli specifici, usare Nell'esempio seguente si presuppone che sia disponibile una matrice di eventi a portata di mano per essere in batch in modo sicuro.
Se si hanno eventi in arrivo uno per uno per uno, Esempio di utilizzo:
|
send |
Invia una matrice di eventi come batch all'hub eventi associato. Hub eventi di Azure ha un limite per le dimensioni del batch che può essere inviato che, se superato, genera un errore con il codice Esempio di utilizzo:
|
Dettagli costruttore
EventHubProducerClient(string, EventHubClientOptions)
La EventHubProducerClient
classe viene usata per inviare eventi a un hub eventi.
Usare il options
parametro parmeter per configurare i criteri di ripetizione dei tentativi o le impostazioni proxy.
new EventHubProducerClient(connectionString: string, options?: EventHubClientOptions)
Parametri
- connectionString
-
string
Stringa di connessione da usare per la connessione all'istanza di Hub eventi. È previsto 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
- EventHubClientOptions
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 tramite Web Socket. -
userAgent
: stringa da aggiungere alla stringa dell'agente utente predefinita passata al servizio.
EventHubProducerClient(string, string, EventHubClientOptions)
La EventHubProducerClient
classe viene usata per inviare eventi a un hub eventi.
Usare il options
parametro parmeter per configurare i criteri di ripetizione dei tentativi o le impostazioni proxy.
new EventHubProducerClient(connectionString: string, eventHubName: string, options?: EventHubClientOptions)
Parametri
- connectionString
-
string
Stringa di connessione da usare per la connessione allo spazio dei nomi di Hub eventi. È previsto 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
- EventHubClientOptions
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 tramite Web Socket. -
userAgent
: stringa da aggiungere alla stringa dell'agente utente predefinita passata al servizio.
EventHubProducerClient(string, string, TokenCredential | NamedKeyCredential | SASCredential, EventHubClientOptions)
La EventHubProducerClient
classe viene usata per inviare eventi a un hub eventi.
Usare il options
parametro parmeter per configurare i criteri di ripetizione dei tentativi o le impostazioni proxy.
new EventHubProducerClient(fullyQualifiedNamespace: string, eventHubName: string, credential: TokenCredential | NamedKeyCredential | SASCredential, options?: EventHubClientOptions)
Parametri
- fullyQualifiedNamespace
-
string
Spazio dei nomi completo che probabilmente sarà 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
.
- options
- EventHubClientOptions
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 usato per identificare questo oggetto EventHubProducerClient. Se non specificato o vuoto, verrà generato un univoco casuale.
identifier: string
Valore della proprietà
string
Dettagli metodo
close()
Chiude la connessione AMQP all'istanza dell'hub eventi, restituendo una promessa che verrà risolta al termine della disconnessione.
function close(): Promise<void>
Restituisce
Promise<void>
Promise
createBatch(CreateBatchOptions)
Crea un'istanza di EventDataBatch
a cui è possibile aggiungere eventi fino a quando non viene raggiunta la dimensione massima supportata.
Il batch può essere passato al metodo sendBatch dell'oggetto EventHubProducerClient
da inviare a Hub eventi di Azure.
Gli eventi con valori diversi per partitionKey o partitionId dovranno essere inseriti in batch diversi.
Per semplificare la gestione batch tra partizioni o per avere automaticamente gli eventi batch del client e inviarli in intervalli specifici, usare EventHubBufferedProducerClient
invece.
Nell'esempio seguente si presuppone che sia disponibile una matrice di eventi a portata di mano per essere in batch in modo sicuro.
Se si hanno eventi in arrivo uno per uno per uno, EventHubBufferedProducerClient
è consigliabile invece per la gestione efficiente dei batch.
Esempio di utilizzo:
const client = new EventHubProducerClient(connectionString);
let batch = await client.createBatch();
for (let i = 0; i < messages.length; i++) {
if (!batch.tryAdd(messages[i])) {
await client.sendBatch(batch);
batch = await client.createBatch();
if (!batch.tryAdd(messages[i])) {
throw new Error("Message too big to fit")
}
if (i === messages.length - 1) {
await client.sendBatch(batch);
}
}
}
function createBatch(options?: CreateBatchOptions): Promise<EventDataBatch>
Parametri
- options
- CreateBatchOptions
Configura il comportamento del batch.
-
partitionKey
: valore hashed e usato dal servizio Hub eventi di Azure per determinare la partizione in cui devono essere inviati gli eventi. -
partitionId
: ID della partizione a cui deve essere inviato il batch di eventi. -
maxSizeInBytes
: limite superiore per le dimensioni del batch. LatryAdd
funzione restituiràfalse
dopo aver raggiunto questo limite. -
abortSignal
: segnale della richiesta di annullamento dell'operazione.
Restituisce
Promise<EventDataBatch>
Promise
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 .
sendBatch(EventDataBatch, OperationOptions)
Invia un batch di eventi creati usando EventHubProducerClient.createBatch()
all'hub eventi associato.
Gli eventi con valori diversi per partitionKey o partitionId dovranno essere inseriti in batch diversi.
Per semplificare la gestione batch tra partizioni o per avere automaticamente gli eventi batch del client e inviarli in intervalli specifici, usare EventHubBufferedProducerClient
invece.
Nell'esempio seguente si presuppone che sia disponibile una matrice di eventi a portata di mano per essere in batch in modo sicuro.
Se si hanno eventi in arrivo uno per uno per uno, EventHubBufferedProducerClient
è consigliabile invece per la gestione efficiente dei batch.
Esempio di utilizzo:
const client = new EventHubProducerClient(connectionString);
let batch = await client.createBatch();
for (let i = 0; i < messages.length; i++) {
if (!batch.tryAdd(messages[i])) {
await client.sendBatch(batch);
batch = await client.createBatch();
if (!batch.tryAdd(messages[i])) {
throw new Error("Message too big to fit")
}
if (i === messages.length - 1) {
await client.sendBatch(batch);
}
}
}
function sendBatch(batch: EventDataBatch, options?: OperationOptions): Promise<void>
Parametri
- batch
- EventDataBatch
Batch di eventi che è possibile creare usando il metodo createBatch .
- options
- OperationOptions
Set di opzioni che possono essere specificate per influenzare il modo in cui gli eventi vengono inviati all'hub eventi associato.
-
abortSignal
: segnale della richiesta di annullamento dell'operazione di invio.
Restituisce
Promise<void>
Promise
sendBatch(EventData[] | AmqpAnnotatedMessage[], SendBatchOptions)
Invia una matrice di eventi come batch all'hub eventi associato.
Hub eventi di Azure ha un limite per le dimensioni del batch che può essere inviato che, se superato, genera un errore con il codice MessageTooLargeError
.
Per inviare in modo sicuro i limiti delle dimensioni batch, usare EventHubProducerClient.createBatch()
o EventHubBufferedProducerClient
invece.
Esempio di utilizzo:
const client = new EventHubProducerClient(connectionString);
await client.sendBatch(messages);
function sendBatch(batch: EventData[] | AmqpAnnotatedMessage[], options?: SendBatchOptions): Promise<void>
Parametri
- batch
Matrice di EventData o AmqpAnnotatedMessage
.
- options
- SendBatchOptions
Set di opzioni che possono essere specificate per influenzare il modo in cui gli eventi vengono inviati all'hub eventi associato.
-
abortSignal
: segnale della richiesta di annullamento dell'operazione di invio. -
partitionId
: la partizione a cui verrà inviato questo batch. Se impostato,partitionKey
non è possibile impostare. -
partitionKey
: valore hashed per produrre un'assegnazione di partizione. Se impostato,partitionId
non è possibile impostare.
Restituisce
Promise<void>
Promise