Freigeben über


EventHubProducerClient class

Die EventHubProducerClient Klasse wird verwendet, um Ereignisse an einen Event Hub zu senden.

Es gibt mehrere Möglichkeiten zum Erstellen eines EventHubProducerClient

  • Verwenden Sie die Verbindungszeichenfolge aus der SAS-Richtlinie, die für Ihre Event Hub-Instanz erstellt wurde.
  • Verwenden Sie die Verbindungszeichenfolge aus der SAS-Richtlinie, die für Ihren Event Hub-Namespace erstellt wurde, und den Namen der Event Hub-Instanz.
  • Verwenden Sie den vollständigen Namespace wie <yournamespace>.servicebus.windows.netund ein Anmeldeinformationsobjekt.

Optional können Sie auch einen Optionsbehälter übergeben, um die Wiederholungsrichtlinie oder Proxyeinstellungen zu konfigurieren.

Konstruktoren

EventHubProducerClient(string, EventHubClientOptions)

Die EventHubProducerClient Klasse wird verwendet, um Ereignisse an einen Event Hub zu senden. Verwenden Sie das options Parmeter zum Konfigurieren von Wiederholungsrichtlinien oder Proxyeinstellungen.

EventHubProducerClient(string, string, EventHubClientOptions)

Die EventHubProducerClient Klasse wird verwendet, um Ereignisse an einen Event Hub zu senden. Verwenden Sie das options Parmeter zum Konfigurieren von Wiederholungsrichtlinien oder Proxyeinstellungen.

EventHubProducerClient(string, string, TokenCredential | NamedKeyCredential | SASCredential, EventHubClientOptions)

Die EventHubProducerClient Klasse wird verwendet, um Ereignisse an einen Event Hub zu senden. Verwenden Sie das options Parmeter zum Konfigurieren von Wiederholungsrichtlinien oder Proxyeinstellungen.

Eigenschaften

eventHubName

Der Name der Event Hub-Instanz, für die dieser Client erstellt wird.

fullyQualifiedNamespace

Der vollqualifizierte Namespace der Event Hub-Instanz, für die dieser Client erstellt wird. Dies ist wahrscheinlich mit .servicebus.windows.net vergleichbar.

identifier

Der Name, der zum Identifizieren dieses EventHubProducerClient verwendet wird. Wenn sie nicht angegeben oder leer ist, wird ein zufällig eindeutiger Wert generiert.

Methoden

close()

Schließt die AMQP-Verbindung mit der Event Hub-Instanz und gibt eine Zusage zurück, die aufgelöst wird, wenn die Verbindung abgeschlossen ist.

createBatch(CreateBatchOptions)

Erstellt eine Instanz von EventDataBatch, der ereignisse hinzugefügt werden können, bis die maximale unterstützte Größe erreicht ist. Der Batch kann an die sendBatch- Methode der EventHubProducerClient übergeben werden, die an Azure Event Hubs gesendet werden soll.

Ereignisse mit unterschiedlichen Werten für partitionKey oder partitionId müssen in verschiedene Batches eingefügt werden. Verwenden Sie stattdessen EventHubBufferedProducerClient, um eine solche Batchverwaltung über Partitionen hinweg zu vereinfachen oder den Client automatisch Batchereignisse zu erstellen und in bestimmten Intervallen zu senden.

Im folgenden Beispiel wird davon ausgegangen, dass Sie über ein Array von Ereignissen verfügen, die sicher batchiert werden sollen. Wenn Ereignisse nacheinander kommen, wird EventHubBufferedProducerClient stattdessen für eine effiziente Verwaltung von Batches empfohlen.

Beispielverwendung:

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)

Stellt die Event Hub-Laufzeitinformationen bereit.

getPartitionIds(GetPartitionIdsOptions)

Stellt die ID für jede Partition bereit, die dem Event Hub zugeordnet ist.

getPartitionProperties(string, GetPartitionPropertiesOptions)

Stellt Informationen zum Status der angegebenen Partition bereit.

sendBatch(EventDataBatch, OperationOptions)

Sendet einen Batch von Ereignissen, die mit EventHubProducerClient.createBatch() erstellt wurden, an den zugeordneten Event Hub.

Ereignisse mit unterschiedlichen Werten für partitionKey oder partitionId müssen in verschiedene Batches eingefügt werden. Verwenden Sie stattdessen EventHubBufferedProducerClient, um eine solche Batchverwaltung über Partitionen hinweg zu vereinfachen oder den Client automatisch Batchereignisse zu erstellen und in bestimmten Intervallen zu senden.

Im folgenden Beispiel wird davon ausgegangen, dass Sie über ein Array von Ereignissen verfügen, die sicher batchiert werden sollen. Wenn Ereignisse nacheinander kommen, wird EventHubBufferedProducerClient stattdessen für eine effiziente Verwaltung von Batches empfohlen.

Beispielverwendung:

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)

Sendet ein Array von Ereignissen als Batch an den zugeordneten Event Hub.

Azure Event Hubs hat einen Grenzwert für die Größe des Batches, der gesendet werden kann, was bei Überschreitung zu einem Fehler mit Code MessageTooLargeErrorführt. Verwenden Sie stattdessen EventHubProducerClient.createBatch() oder EventHubBufferedProducerClient, um die Batchgrößenbeschränkungen sicher zu senden.

Beispielverwendung:

const client = new EventHubProducerClient(connectionString);
await client.sendBatch(messages);

Details zum Konstruktor

EventHubProducerClient(string, EventHubClientOptions)

Die EventHubProducerClient Klasse wird verwendet, um Ereignisse an einen Event Hub zu senden. Verwenden Sie das options Parmeter zum Konfigurieren von Wiederholungsrichtlinien oder Proxyeinstellungen.

new EventHubProducerClient(connectionString: string, options?: EventHubClientOptions)

Parameter

connectionString

string

Die verbindungszeichenfolge, die zum Herstellen einer Verbindung mit der Event Hub-Instanz verwendet werden soll. Es wird erwartet, dass die eigenschaften des freigegebenen Schlüssels und der Event Hub-Pfad in dieser Verbindungszeichenfolge enthalten sind. z. B. "Endpoint=sb://my-servicebus-namespace.servicebus.windows.net/; SharedAccessKeyName=my-SA-name; SharedAccessKey=my-SA-key; EntityPath=my-event-hub-name'.

options
EventHubClientOptions

Eine Reihe von Optionen, die beim Konfigurieren des Clients angewendet werden sollen.

  • retryOptions: Konfiguriert die Wiederholungsrichtlinie für alle Vorgänge auf dem Client. Beispiel: { "maxRetries": 4 } oder { "maxRetries": 4, "retryDelayInMs": 30000 }.
  • webSocketOptions: Konfiguriert die Kanalierung der AMQP-Verbindung über Web Sockets.
  • userAgent: Eine Zeichenfolge, die an die integrierte Benutzer-Agent-Zeichenfolge angefügt werden soll, die an den Dienst übergeben wird.

EventHubProducerClient(string, string, EventHubClientOptions)

Die EventHubProducerClient Klasse wird verwendet, um Ereignisse an einen Event Hub zu senden. Verwenden Sie das options Parmeter zum Konfigurieren von Wiederholungsrichtlinien oder Proxyeinstellungen.

new EventHubProducerClient(connectionString: string, eventHubName: string, options?: EventHubClientOptions)

Parameter

connectionString

string

Die verbindungszeichenfolge, die zum Herstellen einer Verbindung mit dem Event Hubs-Namespace verwendet werden soll. Es wird erwartet, dass die gemeinsam genutzten Schlüsseleigenschaften in dieser Verbindungszeichenfolge enthalten sind, aber nicht der Event Hub-Pfad, z. B. "Endpoint=sb://my-servicebus-namespace.servicebus.windows.net/; SharedAccessKeyName=my-SA-name; SharedAccessKey=my-SA-key;'.

eventHubName

string

Der Name des spezifischen Event Hubs, mit dem der Client verbunden werden soll.

options
EventHubClientOptions

Eine Reihe von Optionen, die beim Konfigurieren des Clients angewendet werden sollen.

  • retryOptions: Konfiguriert die Wiederholungsrichtlinie für alle Vorgänge auf dem Client. Beispiel: { "maxRetries": 4 } oder { "maxRetries": 4, "retryDelayInMs": 30000 }.
  • webSocketOptions: Konfiguriert die Kanalierung der AMQP-Verbindung über Web Sockets.
  • userAgent: Eine Zeichenfolge, die an die integrierte Benutzer-Agent-Zeichenfolge angefügt werden soll, die an den Dienst übergeben wird.

EventHubProducerClient(string, string, TokenCredential | NamedKeyCredential | SASCredential, EventHubClientOptions)

Die EventHubProducerClient Klasse wird verwendet, um Ereignisse an einen Event Hub zu senden. Verwenden Sie das options Parmeter zum Konfigurieren von Wiederholungsrichtlinien oder Proxyeinstellungen.

new EventHubProducerClient(fullyQualifiedNamespace: string, eventHubName: string, credential: TokenCredential | NamedKeyCredential | SASCredential, options?: EventHubClientOptions)

Parameter

fullyQualifiedNamespace

string

Der vollständige Namespace, der wahrscheinlich mit .servicebus.windows.net

eventHubName

string

Der Name des spezifischen Event Hubs, mit dem der Client verbunden werden soll.

credential

TokenCredential | NamedKeyCredential | SASCredential

Ein anmeldeinformationsobjekt, das vom Client verwendet wird, um das Token abzurufen, um die Verbindung mit dem Azure Event Hubs-Dienst zu authentifizieren. Informationen zum Erstellen von Anmeldeinformationen, die die AAD-Authentifizierung unterstützen, finden Sie unter @azure/Identität. Verwenden Sie die AzureNamedKeyCredential aus @azure/Core-Auth, wenn Sie eine SharedAccessKeyName und SharedAccessKey ohne Verbindungszeichenfolge übergeben möchten. Diese Felder werden dem feld name bzw. key feld in AzureNamedKeyCredentialzugeordnet. Verwenden Sie die AzureSASCredential aus @azure/core-auth, wenn Sie eine SharedAccessSignature ohne Verbindungszeichenfolge übergeben möchten. Dieses Feld ist in AzureSASCredentialsignature zugeordnet.

options
EventHubClientOptions

Eine Reihe von Optionen, die beim Konfigurieren des Clients angewendet werden sollen.

  • retryOptions: Konfiguriert die Wiederholungsrichtlinie für alle Vorgänge auf dem Client. Beispiel: { "maxRetries": 4 } oder { "maxRetries": 4, "retryDelayInMs": 30000 }.
  • webSocketOptions: Konfiguriert die Kanalierung der AMQP-Verbindung über Web Sockets.
  • userAgent: Eine Zeichenfolge, die an die integrierte Benutzer-Agent-Zeichenfolge angefügt werden soll, die an den Dienst übergeben wird.

Details zur Eigenschaft

eventHubName

Der Name der Event Hub-Instanz, für die dieser Client erstellt wird.

string eventHubName

Eigenschaftswert

string

fullyQualifiedNamespace

Der vollqualifizierte Namespace der Event Hub-Instanz, für die dieser Client erstellt wird. Dies ist wahrscheinlich mit .servicebus.windows.net vergleichbar.

string fullyQualifiedNamespace

Eigenschaftswert

string

identifier

Der Name, der zum Identifizieren dieses EventHubProducerClient verwendet wird. Wenn sie nicht angegeben oder leer ist, wird ein zufällig eindeutiger Wert generiert.

identifier: string

Eigenschaftswert

string

Details zur Methode

close()

Schließt die AMQP-Verbindung mit der Event Hub-Instanz und gibt eine Zusage zurück, die aufgelöst wird, wenn die Verbindung abgeschlossen ist.

function close(): Promise<void>

Gibt zurück

Promise<void>

Versprechen

createBatch(CreateBatchOptions)

Erstellt eine Instanz von EventDataBatch, der ereignisse hinzugefügt werden können, bis die maximale unterstützte Größe erreicht ist. Der Batch kann an die sendBatch- Methode der EventHubProducerClient übergeben werden, die an Azure Event Hubs gesendet werden soll.

Ereignisse mit unterschiedlichen Werten für partitionKey oder partitionId müssen in verschiedene Batches eingefügt werden. Verwenden Sie stattdessen EventHubBufferedProducerClient, um eine solche Batchverwaltung über Partitionen hinweg zu vereinfachen oder den Client automatisch Batchereignisse zu erstellen und in bestimmten Intervallen zu senden.

Im folgenden Beispiel wird davon ausgegangen, dass Sie über ein Array von Ereignissen verfügen, die sicher batchiert werden sollen. Wenn Ereignisse nacheinander kommen, wird EventHubBufferedProducerClient stattdessen für eine effiziente Verwaltung von Batches empfohlen.

Beispielverwendung:

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>

Parameter

options
CreateBatchOptions

Konfiguriert das Verhalten des Batches.

  • partitionKey: Ein Wert, der vom Azure Event Hubs-Dienst hashed und verwendet wird, um die Partition zu bestimmen, an die die Ereignisse gesendet werden müssen.
  • partitionId: ID der Partition, an die der Batch von Ereignissen gesendet werden muss.
  • maxSizeInBytes: Die obere Grenze für die Größe des Batches. Die tryAdd-Funktion gibt false zurück, nachdem dieser Grenzwert erreicht wurde.
  • abortSignal: Signal der Anforderung zum Abbrechen des Vorgangs.

Gibt zurück

Promise<EventDataBatch>

Versprechen

getEventHubProperties(GetEventHubPropertiesOptions)

Stellt die Event Hub-Laufzeitinformationen bereit.

function getEventHubProperties(options?: GetEventHubPropertiesOptions): Promise<EventHubProperties>

Parameter

options
GetEventHubPropertiesOptions

Die Gruppe von Optionen, die auf den Vorgangsaufruf angewendet werden sollen.

Gibt zurück

Eine Zusage, die mit Informationen zur Event Hub-Instanz aufgelöst wird.

getPartitionIds(GetPartitionIdsOptions)

Stellt die ID für jede Partition bereit, die dem Event Hub zugeordnet ist.

function getPartitionIds(options?: GetPartitionIdsOptions): Promise<string[]>

Parameter

options
GetPartitionIdsOptions

Die Gruppe von Optionen, die auf den Vorgangsaufruf angewendet werden sollen.

Gibt zurück

Promise<string[]>

Eine Zusage, die mit einem Array von Zeichenfolgen aufgelöst wird, die die ID für jede Partition darstellt, die dem Event Hub zugeordnet ist.

getPartitionProperties(string, GetPartitionPropertiesOptions)

Stellt Informationen zum Status der angegebenen Partition bereit.

function getPartitionProperties(partitionId: string, options?: GetPartitionPropertiesOptions): Promise<PartitionProperties>

Parameter

partitionId

string

Die ID der Partition, für die Informationen erforderlich sind.

options
GetPartitionPropertiesOptions

Die Gruppe von Optionen, die auf den Vorgangsaufruf angewendet werden sollen.

Gibt zurück

Eine Zusage, die mit Informationen zum Zustand der Partition aufgelöst wird.

sendBatch(EventDataBatch, OperationOptions)

Sendet einen Batch von Ereignissen, die mit EventHubProducerClient.createBatch() erstellt wurden, an den zugeordneten Event Hub.

Ereignisse mit unterschiedlichen Werten für partitionKey oder partitionId müssen in verschiedene Batches eingefügt werden. Verwenden Sie stattdessen EventHubBufferedProducerClient, um eine solche Batchverwaltung über Partitionen hinweg zu vereinfachen oder den Client automatisch Batchereignisse zu erstellen und in bestimmten Intervallen zu senden.

Im folgenden Beispiel wird davon ausgegangen, dass Sie über ein Array von Ereignissen verfügen, die sicher batchiert werden sollen. Wenn Ereignisse nacheinander kommen, wird EventHubBufferedProducerClient stattdessen für eine effiziente Verwaltung von Batches empfohlen.

Beispielverwendung:

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>

Parameter

batch
EventDataBatch

Ein Batch von Ereignissen, die Sie mithilfe der createBatch-Methode erstellen können.

options
OperationOptions

Eine Reihe von Optionen, die angegeben werden können, um die Art und Weise zu beeinflussen, in der Ereignisse an den zugeordneten Event Hub gesendet werden.

  • abortSignal: Signal der Anforderung zum Abbrechen des Sendevorgangs.

Gibt zurück

Promise<void>

Versprechen

sendBatch(EventData[] | AmqpAnnotatedMessage[], SendBatchOptions)

Sendet ein Array von Ereignissen als Batch an den zugeordneten Event Hub.

Azure Event Hubs hat einen Grenzwert für die Größe des Batches, der gesendet werden kann, was bei Überschreitung zu einem Fehler mit Code MessageTooLargeErrorführt. Verwenden Sie stattdessen EventHubProducerClient.createBatch() oder EventHubBufferedProducerClient, um die Batchgrößenbeschränkungen sicher zu senden.

Beispielverwendung:

const client = new EventHubProducerClient(connectionString);
await client.sendBatch(messages);
function sendBatch(batch: EventData[] | AmqpAnnotatedMessage[], options?: SendBatchOptions): Promise<void>

Parameter

batch

EventData[] | AmqpAnnotatedMessage[]

Ein Array von EventData- oder AmqpAnnotatedMessage.

options
SendBatchOptions

Eine Reihe von Optionen, die angegeben werden können, um die Art und Weise zu beeinflussen, in der Ereignisse an den zugeordneten Event Hub gesendet werden.

  • abortSignal: Signal der Anforderung zum Abbrechen des Sendevorgangs.
  • partitionId: Die Partition, an die dieser Batch gesendet wird. Wenn festgelegt, kann partitionKey nicht festgelegt werden.
  • partitionKey: Ein Wert, der hashed ist, um eine Partitionszuweisung zu erzeugen. Wenn festgelegt, kann partitionId nicht festgelegt werden.

Gibt zurück

Promise<void>

Versprechen