EventHubBufferedProducerClient class
Die EventHubBufferedProducerClient
wird verwendet, um Ereignisse in einem bestimmten Event Hub zu veröffentlichen.
Die EventHubBufferedProducerClient
veröffentlicht keine Ereignisse sofort.
Stattdessen werden Ereignisse gepuffert, sodass sie effizient batchiert und veröffentlicht werden können, wenn der Batch voll ist oder die maxWaitTimeInMs
ohne neue Ereignisse verstrichen ist.
Abhängig von den Optionen, die angegeben werden, wenn Ereignisse abgefragt werden, werden sie möglicherweise automatisch einer Partition zugewiesen, nach dem angegebenen Partitionsschlüssel gruppiert oder einer speziell angeforderten Partition zugewiesen.
Dieses Modell soll die Belastung der Batchverwaltung von Anrufern auf Kosten nicht deterministischer Zeit für die Veröffentlichung von Ereignissen verlagern. Es gibt auch zusätzliche Kompromissen, die berücksichtigt werden müssen:
- Wenn die Anwendung abstürzt, werden die Ereignisse im Puffer nicht veröffentlicht. Um Datenverluste zu verhindern, werden Aufrufer ermutigt, den Veröffentlichungsfortschritt mithilfe der
onSendEventsSuccessHandler
undonSendEventsErrorHandler
Handlern nachzuverfolgen. - Ereignissen, die einen Partitionsschlüssel angeben, können einer anderen Partition als denen zugewiesen werden, die denselben Schlüssel mit anderen Produzenten verwenden.
- Im unwahrscheinlichen Fall, dass eine Partition vorübergehend nicht verfügbar ist, kann die
EventHubBufferedProducerClient
länger dauern, bis sie von anderen Herstellern wiederhergestellt werden kann.
In Szenarien, in denen es wichtig ist, Ereignisse sofort mit einem deterministischen Ergebnis zu veröffentlichen, stellen Sie sicher, dass Partitionsschlüssel einer Partition zugewiesen werden, die mit anderen Herausgebern konsistent ist oder wenn die Maximierung der Verfügbarkeit eine Anforderung ist, die verwendung der EventHubProducerClient
empfohlen wird.
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 verwendet wird, um diesen EventHubBufferedProducerClient zu identifizieren. Wenn sie nicht angegeben oder leer ist, wird ein zufällig eindeutiger Wert generiert. |
Methoden
close(Buffered |
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. Dies wartet, bis enqueuierte Ereignisse auf den Dienst geleert werden, bevor die Verbindung geschlossen wird.
Zum Schließen ohne Leerung legen Sie die Option |
enqueue |
Enqueues an event into the buffer to be published to the Event Hub. Wenn beim Aufrufen dieser Methode keine Kapazität im Puffer vorhanden ist, wartet sie, bis der Speicherplatz verfügbar ist, und stellen Sie sicher, dass das Ereignis enqueuiert wurde. Wenn dieser Aufruf zurückgegeben wird, wurde das Ereignis in den Puffer aufgenommen, aber es wurde möglicherweise noch nicht veröffentlicht. Die Veröffentlichung erfolgt in Zukunft an einem nicht deterministischen Punkt, während der Puffer verarbeitet wird. |
enqueue |
Enqueues-Ereignisse in den Puffer, die im Event Hub veröffentlicht werden sollen. Wenn beim Aufrufen dieser Methode keine Kapazität im Puffer vorhanden ist, wartet sie, bis der Speicherplatz verfügbar ist, und stellen Sie sicher, dass die Ereignisse abgefragt wurden. Wenn dieser Aufruf zurückgibt, wurden die Ereignisse in den Puffer aufgenommen, aber möglicherweise noch nicht veröffentlicht. Die Veröffentlichung erfolgt in Zukunft an einem nicht deterministischen Punkt, während der Puffer verarbeitet wird. |
flush(Buffered |
Versucht, alle Ereignisse im Puffer sofort zu veröffentlichen.
Dies kann dazu führen, dass mehrere Batches veröffentlicht werden, deren Ergebnis jeweils einzeln von den |
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. |
Details zum Konstruktor
EventHubBufferedProducerClient(string, EventHubBufferedProducerClientOptions)
Die EventHubBufferedProducerClient
Klasse wird verwendet, um Ereignisse an einen Event Hub zu senden.
Verwenden Sie das options
Parmeter zum Konfigurieren von Wiederholungsrichtlinien oder Proxyeinstellungen.
new EventHubBufferedProducerClient(connectionString: string, options: EventHubBufferedProducerClientOptions)
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'.
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.
EventHubBufferedProducerClient(string, string, EventHubBufferedProducerClientOptions)
Die EventHubBufferedProducerClient
Klasse wird verwendet, um Ereignisse an einen Event Hub zu senden.
Verwenden Sie das options
Parmeter zum Konfigurieren von Wiederholungsrichtlinien oder Proxyeinstellungen.
new EventHubBufferedProducerClient(connectionString: string, eventHubName: string, options: EventHubBufferedProducerClientOptions)
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.
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.
EventHubBufferedProducerClient(string, string, TokenCredential | NamedKeyCredential | SASCredential, EventHubBufferedProducerClientOptions)
Die EventHubBufferedProducerClient
Klasse wird verwendet, um Ereignisse an einen Event Hub zu senden.
Verwenden Sie das options
Parmeter zum Konfigurieren von Wiederholungsrichtlinien oder Proxyeinstellungen.
new EventHubBufferedProducerClient(fullyQualifiedNamespace: string, eventHubName: string, credential: TokenCredential | NamedKeyCredential | SASCredential, options: EventHubBufferedProducerClientOptions)
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.
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 verwendet wird, um diesen EventHubBufferedProducerClient zu identifizieren. Wenn sie nicht angegeben oder leer ist, wird ein zufällig eindeutiger Wert generiert.
identifier: string
Eigenschaftswert
string
Details zur Methode
close(BufferedCloseOptions)
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.
Dies wartet, bis enqueuierte Ereignisse auf den Dienst geleert werden, bevor die Verbindung geschlossen wird.
Zum Schließen ohne Leerung legen Sie die Option flush
auf false
fest.
function close(options?: BufferedCloseOptions): Promise<void>
Parameter
- options
- BufferedCloseOptions
Die Gruppe von Optionen, die auf den Vorgangsaufruf angewendet werden sollen.
Gibt zurück
Promise<void>
Versprechen
enqueueEvent(EventData | AmqpAnnotatedMessage, EnqueueEventOptions)
Enqueues an event into the buffer to be published to the Event Hub. Wenn beim Aufrufen dieser Methode keine Kapazität im Puffer vorhanden ist, wartet sie, bis der Speicherplatz verfügbar ist, und stellen Sie sicher, dass das Ereignis enqueuiert wurde.
Wenn dieser Aufruf zurückgegeben wird, wurde das Ereignis in den Puffer aufgenommen, aber es wurde möglicherweise noch nicht veröffentlicht. Die Veröffentlichung erfolgt in Zukunft an einem nicht deterministischen Punkt, während der Puffer verarbeitet wird.
function enqueueEvent(event: EventData | AmqpAnnotatedMessage, options?: EnqueueEventOptions): Promise<number>
Parameter
- event
- options
- EnqueueEventOptions
Eine Reihe von Optionen, die angegeben werden können, um die Art und Weise zu beeinflussen, in der das Ereignis an den zugeordneten Event Hub gesendet wird.
-
abortSignal
: Ein Signal, das zum Abbrechen des enqueueEvent-Vorgangs verwendet wird. -
partitionId
: Die Partition, an die diese Ereignismenge 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<number>
Die Gesamtzahl der Ereignisse, die derzeit gepuffert sind und auf die Veröffentlichung warten, über alle Partitionen hinweg.
enqueueEvents(EventData[] | AmqpAnnotatedMessage[], EnqueueEventOptions)
Enqueues-Ereignisse in den Puffer, die im Event Hub veröffentlicht werden sollen. Wenn beim Aufrufen dieser Methode keine Kapazität im Puffer vorhanden ist, wartet sie, bis der Speicherplatz verfügbar ist, und stellen Sie sicher, dass die Ereignisse abgefragt wurden.
Wenn dieser Aufruf zurückgibt, wurden die Ereignisse in den Puffer aufgenommen, aber möglicherweise noch nicht veröffentlicht. Die Veröffentlichung erfolgt in Zukunft an einem nicht deterministischen Punkt, während der Puffer verarbeitet wird.
function enqueueEvents(events: EventData[] | AmqpAnnotatedMessage[], options?: EnqueueEventOptions): Promise<number>
Parameter
- events
Ein Array von EventData- oder AmqpAnnotatedMessage
.
- options
- EnqueueEventOptions
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
: Ein Signal, das zum Abbrechen des enqueueEvents-Vorgangs verwendet wird. -
partitionId
: Die Partition, an die diese Ereignismenge 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<number>
Die Gesamtzahl der Ereignisse, die derzeit gepuffert sind und auf die Veröffentlichung warten, über alle Partitionen hinweg.
flush(BufferedFlushOptions)
Versucht, alle Ereignisse im Puffer sofort zu veröffentlichen.
Dies kann dazu führen, dass mehrere Batches veröffentlicht werden, deren Ergebnis jeweils einzeln von den onSendEventsSuccessHandler
und onSendEventsErrorHandler
Handlern gemeldet wird.
function flush(options?: BufferedFlushOptions): Promise<void>
Parameter
- options
- BufferedFlushOptions
Die Gruppe von Optionen, die auf den Vorgangsaufruf angewendet werden sollen.
Gibt zurück
Promise<void>
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.