Condividi tramite


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.nete un oggetto credenziali.

Facoltativamente, è anche possibile passare un contenitore di opzioni per configurare i criteri di ripetizione dei tentativi o le impostazioni proxy.

Costruttori

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.

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.

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.

Proprietà

eventHubName

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

fullyQualifiedNamespace

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.

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);
   }
  }
}
getEventHubProperties(GetEventHubPropertiesOptions)

Fornisce le informazioni sul 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.

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);
   }
  }
}
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);

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

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/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 funzione tryAdd 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

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

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

EventData[] | AmqpAnnotatedMessage[]

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 : segnala la richiesta di annullare l'operazione di invio.
  • partitionId: la partizione a cui verrà inviato il batch. Se impostato, non è possibile impostare partitionKey.
  • partitionKey : valore con hash per produrre un'assegnazione di partizione. Se impostato, non è possibile impostare partitionId.

Restituisce

Promise<void>

Promettere