Condividi tramite


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

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.

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.

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.

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 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.

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

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

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

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
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. La tryAdd 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

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 .

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

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 : 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