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.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 der Event Hub-Instanz, für die dieser Client erstellt wird. |
fully |
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. |
create |
Erstellt eine Instanz von Ereignisse mit unterschiedlichen Werten für partitionKey oder partitionId müssen in verschiedene Batches eingefügt werden.
Verwenden Sie stattdessen 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 Beispielverwendung:
|
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 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 Beispielverwendung:
|
send |
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 Beispielverwendung:
|
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
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 AzureNamedKeyCredential
zugeordnet.
Verwenden Sie die AzureSASCredential
aus @azure/core-auth, wenn Sie eine SharedAccessSignature
ohne Verbindungszeichenfolge übergeben möchten. Dieses Feld ist in AzureSASCredential
signature
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. DietryAdd
-Funktion gibtfalse
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
Promise<EventHubProperties>
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
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 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 MessageTooLargeError
fü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
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, kannpartitionKey
nicht festgelegt werden. -
partitionKey
: Ein Wert, der hashed ist, um eine Partitionszuweisung zu erzeugen. Wenn festgelegt, kannpartitionId
nicht festgelegt werden.
Gibt zurück
Promise<void>
Versprechen