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
Event |
Die |
Event |
Die |
Event |
Die |
Eigenschaften
event |
Der Name des Event Hub-instance, für den dieser Client erstellt wird. |
fully |
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. |
create |
Erstellt eine instance von, zu der 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 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, Verwendungsbeispiel:
|
get |
Stellt die Event Hub-Laufzeitinformationen bereit. |
get |
Stellt die ID für jede Partition bereit, die dem Event Hub zugeordnet ist. |
get |
Stellt Informationen zum Status der angegebenen Partition bereit. |
send |
Sendet einen Batch von Ereignissen, die mit 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 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, Verwendungsbeispiel:
|
send |
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 Verwendungsbeispiel:
|
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
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 SharedAccessKeyName
SharedAccessKey
ohne Verwendung einer Verbindungszeichenfolge übergeben möchten. Diese Felder werden dem name
Feld und key
in AzureNamedKeyCredential
zugeordnet.
Verwenden Sie from AzureSASCredential
@azure/core-auth, wenn Sie ein SharedAccessSignature
übergeben möchten, ohne eine Verbindungszeichenfolge zu verwenden. Dieses Feld wird in AzureSASCredential
zugeordnetsignature
.
- 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. DietryAdd
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
Promise<EventHubProperties>
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
Promise<PartitionProperties>
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 MessageTooLargeError
fü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
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