Freigeben über


EventHubProducerClient class

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

Es gibt mehrere Möglichkeiten, eine EventHubProducerClient

  • Verwenden Sie die Verbindungszeichenfolge aus der SAS-Richtlinie, die für Ihre Event Hub-instance erstellt wurde.
  • Verwenden Sie die Verbindungszeichenfolge aus der SAS-Richtlinie, die für Ihren Event Hub-Namespace erstellt wurde, und den Namen des Event Hub-instance
  • Verwenden Sie den vollständigen Namespace wie <yournamespace>.servicebus.windows.net, und 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 den options Parmeter, um Wiederholungsrichtlinien- oder Proxyeinstellungen zu konfigurieren.

EventHubProducerClient(string, string, EventHubClientOptions)

Die EventHubProducerClient -Klasse wird verwendet, um Ereignisse an einen Event Hub zu senden. Verwenden Sie den options Parmeter, um Wiederholungsrichtlinien- oder Proxyeinstellungen zu konfigurieren.

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

Die EventHubProducerClient -Klasse wird verwendet, um Ereignisse an einen Event Hub zu senden. Verwenden Sie den options Parmeter, um Wiederholungsrichtlinien- oder Proxyeinstellungen zu konfigurieren.

Eigenschaften

eventHubName

Der Name des Event Hub-instance, für den dieser Client erstellt wird.

fullyQualifiedNamespace

Der vollqualifizierte Namespace des Event Hub-instance, für den dieser Client erstellt wird. Dies ist wahrscheinlich ähnlich wie servicebus.windows.net.

identifier

Der Name, der verwendet wird, um diesen EventHubProducerClient zu identifizieren. Wenn nicht angegeben oder leer, wird eine zufällige eindeutige generiert.

Methoden

close()

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

createBatch(CreateBatchOptions)

Erstellt eine instance von, zu der EventDataBatch Ereignisse hinzugefügt werden können, bis die maximal unterstützte Größe erreicht ist. Der Batch kann an die sendBatch-Methode der übergeben werden, die EventHubProducerClient 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, um eine solche Partitionsübergreifende Batchverwaltung zu vereinfachen oder ereignisse automatisch vom Client zu batchen und in bestimmten Intervallen EventHubBufferedProducerClient zu senden.

Im folgenden Beispiel wird davon ausgegangen, dass Sie über ein Array von Ereignissen verfügen, die sicher in Batches verarbeitet werden können. Wenn Ereignisse nacheinander angezeigt werden, EventHubBufferedProducerClient wird stattdessen für eine effiziente Verwaltung von Batches empfohlen.

Verwendungsbeispiel:

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, um eine solche Partitionsübergreifende Batchverwaltung zu vereinfachen oder ereignisse automatisch vom Client zu batchen und in bestimmten Intervallen EventHubBufferedProducerClient zu senden.

Im folgenden Beispiel wird davon ausgegangen, dass Sie über ein Array von Ereignissen verfügen, die sicher in Batches verarbeitet werden können. Wenn Ereignisse nacheinander angezeigt werden, EventHubBufferedProducerClient wird stattdessen für eine effiziente Verwaltung von Batches empfohlen.

Verwendungsbeispiel:

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 verfügt über eine Beschränkung für die Größe des Batches, der gesendet werden kann, was bei Überschreitung zu einem Fehler mit dem Code MessageTooLargeErrorführt. Verwenden Sie EventHubProducerClient.createBatch() oder EventHubBufferedProducerClient stattdessen, um sicher innerhalb der Grenzwerte für die Batchgröße zu senden.

Verwendungsbeispiel:

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 den options Parmeter, um Wiederholungsrichtlinien- oder Proxyeinstellungen zu konfigurieren.

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

Parameter

connectionString

string

Die Verbindungszeichenfolge, die zum Herstellen einer Verbindung mit dem Event Hub-instance verwendet werden soll. Es wird erwartet, dass die Eigenschaften des gemeinsam genutzten 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. Zum Beispiel: { "maxRetries": 4 } oder { "maxRetries": 4, "retryDelayInMs": 30000 }.
  • webSocketOptions: Konfiguriert das Channelling 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 den options Parmeter, um Wiederholungsrichtlinien- oder Proxyeinstellungen zu konfigurieren.

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 Eigenschaften mit gemeinsam genutzten Schlüsseln in dieser Verbindungszeichenfolge enthalten sind, aber nicht im 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 eine Verbindung herstellen 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. Zum Beispiel: { "maxRetries": 4 } oder { "maxRetries": 4, "retryDelayInMs": 30000 }.
  • webSocketOptions: Konfiguriert das Channelling 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 den options Parmeter, um Wiederholungsrichtlinien- oder Proxyeinstellungen zu konfigurieren.

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

Parameter

fullyQualifiedNamespace

string

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

eventHubName

string

Der Name des spezifischen Event Hubs, mit dem der Client eine Verbindung herstellen 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 from AzureNamedKeyCredential @azure/core-auth, wenn Sie und SharedAccessKeyNameSharedAccessKey ohne Verwendung einer Verbindungszeichenfolge übergeben möchten. Diese Felder werden dem name Feld und key in AzureNamedKeyCredentialzugeordnet. Verwenden Sie from AzureSASCredential @azure/core-auth, wenn Sie ein SharedAccessSignature übergeben möchten, ohne eine Verbindungszeichenfolge zu verwenden. Dieses Feld wird in AzureSASCredentialzugeordnetsignature.

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. Zum Beispiel: { "maxRetries": 4 } oder { "maxRetries": 4, "retryDelayInMs": 30000 }.
  • webSocketOptions: Konfiguriert das Channelling 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 des Event Hub-instance, für den dieser Client erstellt wird.

string eventHubName

Eigenschaftswert

string

fullyQualifiedNamespace

Der vollqualifizierte Namespace des Event Hub-instance, für den dieser Client erstellt wird. Dies ist wahrscheinlich ähnlich wie servicebus.windows.net.

string fullyQualifiedNamespace

Eigenschaftswert

string

identifier

Der Name, der verwendet wird, um diesen EventHubProducerClient zu identifizieren. Wenn nicht angegeben oder leer, wird eine zufällige eindeutige generiert.

identifier: string

Eigenschaftswert

string

Details zur Methode

close()

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

function close(): Promise<void>

Gibt zurück

Promise<void>

Promise

createBatch(CreateBatchOptions)

Erstellt eine instance von, zu der EventDataBatch Ereignisse hinzugefügt werden können, bis die maximal unterstützte Größe erreicht ist. Der Batch kann an die sendBatch-Methode der übergeben werden, die EventHubProducerClient 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, um eine solche Partitionsübergreifende Batchverwaltung zu vereinfachen oder ereignisse automatisch vom Client zu batchen und in bestimmten Intervallen EventHubBufferedProducerClient zu senden.

Im folgenden Beispiel wird davon ausgegangen, dass Sie über ein Array von Ereignissen verfügen, die sicher in Batches verarbeitet werden können. Wenn Ereignisse nacheinander angezeigt werden, EventHubBufferedProducerClient wird stattdessen für eine effiziente Verwaltung von Batches empfohlen.

Verwendungsbeispiel:

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 als Hashwert 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 Obergrenze für die Größe des Batches. Die tryAdd Funktion wird zurückgegeben, false nachdem dieser Grenzwert erreicht wurde.
  • abortSignal : Ein Signal für die Anforderung, den Vorgang abzubrechen.

Gibt zurück

Promise<EventDataBatch>

Promise

getEventHubProperties(GetEventHubPropertiesOptions)

Stellt die Event Hub-Laufzeitinformationen bereit.

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

Parameter

options
GetEventHubPropertiesOptions

Der Satz von Optionen, die auf den Vorgangsaufruf angewendet werden sollen.

Gibt zurück

Eine Zusage, die mit Informationen zum Event Hub-instance 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

Der Satz 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, das 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

Der Satz 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, um eine solche Partitionsübergreifende Batchverwaltung zu vereinfachen oder ereignisse automatisch vom Client zu batchen und in bestimmten Intervallen EventHubBufferedProducerClient zu senden.

Im folgenden Beispiel wird davon ausgegangen, dass Sie über ein Array von Ereignissen verfügen, die sicher in Batches verarbeitet werden können. Wenn Ereignisse nacheinander angezeigt werden, EventHubBufferedProducerClient wird stattdessen für eine effiziente Verwaltung von Batches empfohlen.

Verwendungsbeispiel:

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, den Sie mit der createBatch-Methode erstellen können.

options
OperationOptions

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

  • abortSignal : Signalisiert die Anforderung, den Sendevorgang abzubrechen.

Gibt zurück

Promise<void>

Promise

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

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

Azure Event Hubs verfügt über eine Beschränkung für die Größe des Batches, der gesendet werden kann, was bei Überschreitung zu einem Fehler mit dem Code MessageTooLargeErrorführt. Verwenden Sie EventHubProducerClient.createBatch() oder EventHubBufferedProducerClient stattdessen, um sicher innerhalb der Grenzwerte für die Batchgröße zu senden.

Verwendungsbeispiel:

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, wie Ereignisse an den zugeordneten Event Hub gesendet werden.

  • abortSignal : Signalisiert die Anforderung, den Sendevorgang abzubrechen.
  • partitionId : Die Partition, an die dieser Batch gesendet wird. Wenn festgelegt, partitionKey kann nicht festgelegt werden.
  • partitionKey : Ein Wert, der mit Einem Hash versehen wird, um eine Partitionszuweisung zu erzeugen. Wenn festgelegt, partitionId kann nicht festgelegt werden.

Gibt zurück

Promise<void>

Promise