EventHubProducerClient class
La classe EventHubProducerClient
viene usata per inviare eventi a un hub eventi.
Esistono diversi modi per creare un EventHubProducerClient
- Usare la stringa di connessione dei criteri di firma di accesso condiviso creati per l'istanza dell'hub eventi.
- Usare la stringa di connessione del criterio di firma di accesso condiviso creato per lo spazio dei nomi dell'hub eventi e il nome dell'istanza dell'hub eventi
- Usare lo spazio dei nomi completo come
<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 classe |
Event |
La classe |
Event |
La classe |
Proprietà
event |
Nome dell'istanza dell'hub eventi per cui viene creato il client. |
fully |
Spazio dei nomi completo dell'istanza dell'hub eventi per cui viene creato questo client. È probabile che sia simile a .servicebus.windows.net. |
identifier | Nome usato per identificare questo EventHubProducerClient. Se non specificato o vuoto, verrà generato un valore 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 tale gestione batch tra partizioni o per fare in modo che il client invii automaticamente gli eventi batch e li invii in intervalli specifici, usare invece Nell'esempio seguente si presuppone che sia disponibile una matrice di eventi a portata di mano per essere inseriti in batch in modo sicuro.
Se si hanno eventi in arrivo uno alla volta, è consigliabile Esempio di utilizzo:
|
get |
Fornisce le informazioni sul 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 tale gestione batch tra partizioni o per fare in modo che il client invii automaticamente gli eventi batch e li invii in intervalli specifici, usare invece Nell'esempio seguente si presuppone che sia disponibile una matrice di eventi a portata di mano per essere inseriti in batch in modo sicuro.
Se si hanno eventi in arrivo uno alla volta, è consigliabile 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, genererà un errore con codice Esempio di utilizzo:
|
Dettagli costruttore
EventHubProducerClient(string, EventHubClientOptions)
La classe EventHubProducerClient
viene usata per inviare eventi a un hub eventi.
Usare il options
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 dell'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 incorporata passata al servizio.
EventHubProducerClient(string, string, EventHubClientOptions)
La classe EventHubProducerClient
viene usata per inviare eventi a un hub eventi.
Usare il options
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 incorporata passata al servizio.
EventHubProducerClient(string, string, TokenCredential | NamedKeyCredential | SASCredential, EventHubClientOptions)
La classe EventHubProducerClient
viene usata per inviare eventi a un hub eventi.
Usare il options
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/identità per la creazione di credenziali che supportano l'autenticazione AAD. Usare il AzureNamedKeyCredential
da @azure/core-auth se si vuole passare un SharedAccessKeyName
e SharedAccessKey
senza usare una stringa di connessione. Questi campi eseguono il mapping rispettivamente al campo name
e key
in AzureNamedKeyCredential
.
Usare il AzureSASCredential
da @azure/core-auth se si vuole passare un SharedAccessSignature
senza usare una stringa di connessione. Questo campo esegue il mapping 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 tramite Web Socket. -
userAgent
: stringa da aggiungere alla stringa dell'agente utente incorporata passata al servizio.
Dettagli proprietà
eventHubName
Nome dell'istanza dell'hub eventi per cui viene creato il client.
string eventHubName
Valore della proprietà
string
fullyQualifiedNamespace
Spazio dei nomi completo dell'istanza dell'hub eventi per cui viene creato questo client. È probabile che sia simile a .servicebus.windows.net.
string fullyQualifiedNamespace
Valore della proprietà
string
identifier
Nome usato per identificare questo EventHubProducerClient. Se non specificato o vuoto, verrà generato un valore 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>
Promettere
createBatch(CreateBatchOptions)
Crea un'istanza di EventDataBatch
a cui è possibile aggiungere eventi finché non viene raggiunta la dimensione massima supportata.
Il batch può essere passato al metodo sendBatch del 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 tale gestione batch tra partizioni o per fare in modo che il client invii automaticamente gli eventi batch e li invii in intervalli specifici, usare invece EventHubBufferedProducerClient
.
Nell'esempio seguente si presuppone che sia disponibile una matrice di eventi a portata di mano per essere inseriti in batch in modo sicuro.
Se si hanno eventi in arrivo uno alla volta, è consigliabile EventHubBufferedProducerClient
per una 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 con hash e usato dal servizio Hub eventi di Azure per determinare la partizione a cui inviare gli eventi. -
partitionId
: ID della partizione a cui inviare il batch di eventi. -
maxSizeInBytes
: limite superiore per le dimensioni del batch. La funzionetryAdd
restituiràfalse
dopo il raggiungimento di questo limite. -
abortSignal
: segnala la richiesta di annullare l'operazione.
Restituisce
Promise<EventDataBatch>
Promettere
getEventHubProperties(GetEventHubPropertiesOptions)
Fornisce le informazioni sul 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 viene risolta con informazioni sull'istanza dell'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 rappresenta 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 viene risolta 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 tale gestione batch tra partizioni o per fare in modo che il client invii automaticamente gli eventi batch e li invii in intervalli specifici, usare invece EventHubBufferedProducerClient
.
Nell'esempio seguente si presuppone che sia disponibile una matrice di eventi a portata di mano per essere inseriti in batch in modo sicuro.
Se si hanno eventi in arrivo uno alla volta, è consigliabile EventHubBufferedProducerClient
per una 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
Un 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
: segnala la richiesta di annullare l'operazione di invio.
Restituisce
Promise<void>
Promettere
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, genererà un errore con codice MessageTooLargeError
.
Per inviare in modo sicuro limiti di dimensioni batch, usare invece EventHubProducerClient.createBatch()
o EventHubBufferedProducerClient
.
Esempio di utilizzo:
const client = new EventHubProducerClient(connectionString);
await client.sendBatch(messages);
function sendBatch(batch: EventData[] | AmqpAnnotatedMessage[], options?: SendBatchOptions): Promise<void>
Parametri
- batch
- options
- SendBatchOptions
Set di opzioni che possono essere specificate per influenzare il modo in cui gli eventi vengono inviati all'hub eventi associato.
-
abortSignal
: segnala la richiesta di annullare l'operazione di invio. -
partitionId
: la partizione a cui verrà inviato il batch. Se impostato, non è possibile impostarepartitionKey
. -
partitionKey
: valore con hash per produrre un'assegnazione di partizione. Se impostato, non è possibile impostarepartitionId
.
Restituisce
Promise<void>
Promettere