Freigeben über


EventHubBufferedProducerClient class

Wird EventHubBufferedProducerClientverwendet, um Ereignisse in einem bestimmten Event Hub zu veröffentlichen.

Das EventHubBufferedProducerClient -Element veröffentlicht ereignisse nicht sofort. Stattdessen werden Ereignisse gepuffert, sodass sie effizient im Batch zusammengefasst und veröffentlicht werden können, wenn der Batch voll ist oder das maxWaitTimeInMs abgelaufen ist, ohne dass neue Ereignisse in die Warteschlange gestellt wurden.

Abhängig von den Optionen, die angegeben werden, wenn Ereignisse in die Warteschlange gestellt werden, können sie automatisch einer Partition zugewiesen, gemäß dem angegebenen Partitionsschlüssel gruppiert oder einer speziell angeforderten Partition zugewiesen werden.

Mit diesem Modell soll die Belastung der Aufrufer durch die Batchverwaltung auf Kosten eines nicht deterministischen Timings für den Zeitpunkt der Veröffentlichung von Ereignissen verlagert werden. Es gibt auch zusätzliche Kompromisse, die zu berücksichtigen sind:

  • Wenn die Anwendung abstürzt, wurden keine Ereignisse im Puffer veröffentlicht. Um Datenverluste zu vermeiden, werden Aufrufer empfohlen, den Veröffentlichungsfortschritt mithilfe der onSendEventsSuccessHandler Handler und onSendEventsErrorHandler nachzuverfolgen.
  • Ereignissen, die einen Partitionsschlüssel angeben, kann eine andere Partition zugewiesen werden als diejenigen, die denselben Schlüssel mit anderen Producern verwenden.
  • Im unwahrscheinlichen Fall, dass eine Partition vorübergehend nicht mehr verfügbar ist, kann die EventHubBufferedProducerClient Wiederherstellung länger dauern als andere Producer.

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, wird die Verwendung von EventHubProducerClient empfohlen.

Konstruktoren

EventHubBufferedProducerClient(string, EventHubBufferedProducerClientOptions)

Die EventHubBufferedProducerClient -Klasse wird verwendet, um Ereignisse an einen Event Hub zu senden. Verwenden Sie das options Parmeter, um Wiederholungsrichtlinie oder Proxyeinstellungen zu konfigurieren.

EventHubBufferedProducerClient(string, string, EventHubBufferedProducerClientOptions)

Die EventHubBufferedProducerClient -Klasse wird verwendet, um Ereignisse an einen Event Hub zu senden. Verwenden Sie das options Parmeter, um Wiederholungsrichtlinie oder Proxyeinstellungen zu konfigurieren.

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, um Wiederholungsrichtlinie 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 EventHubBufferedProducerClient zu identifizieren. Wenn nicht angegeben oder leer, wird eine zufällige eindeutige generiert.

Methoden

close(BufferedCloseOptions)

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.

Dadurch wird gewartet, bis Ereignisse in der Warteschlange in den Dienst geleert werden, bevor die Verbindung geschlossen wird. Um das Schließen ohne Leerung zu schließen, legen Sie die flush Option auf fest false.

enqueueEvent(EventData | AmqpAnnotatedMessage, EnqueueEventOptions)

Stellt ein Ereignis in die Warteschlange in den Puffer, das im Event Hub veröffentlicht werden soll. Wenn keine Kapazität im Puffer vorhanden ist, wenn diese Methode aufgerufen wird, wartet sie, bis Speicherplatz verfügbar ist, und stellt sicher, dass das Ereignis in die Warteschlange gestellt wurde.

Wenn dieser Aufruf zurückgibt, wurde das Ereignis im Puffer akzeptiert, aber es wurde möglicherweise noch nicht veröffentlicht. Die Veröffentlichung erfolgt zu einem nicht deterministischen Zeitpunkt in der Zukunft, während der Puffer verarbeitet wird.

enqueueEvents(EventData[] | AmqpAnnotatedMessage[], EnqueueEventOptions)

Stellt Ereignisse in die Warteschlange 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 Speicherplatz verfügbar ist, und stellt sicher, dass die Ereignisse in die Warteschlange gestellt wurden.

Wenn dieser Aufruf zurückgibt, wurden die Ereignisse im Puffer akzeptiert, aber möglicherweise noch nicht veröffentlicht. Die Veröffentlichung erfolgt zu einem nicht deterministischen Zeitpunkt in der Zukunft, während der Puffer verarbeitet wird.

flush(BufferedFlushOptions)

Versucht, alle Ereignisse sofort im Puffer zu veröffentlichen. Dies kann dazu führen, dass mehrere Batches veröffentlicht werden, die jeweils einzeln von den onSendEventsSuccessHandler Handlern und onSendEventsErrorHandler gemeldet werden.

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.

Details zum Konstruktor

EventHubBufferedProducerClient(string, EventHubBufferedProducerClientOptions)

Die EventHubBufferedProducerClient -Klasse wird verwendet, um Ereignisse an einen Event Hub zu senden. Verwenden Sie das options Parmeter, um Wiederholungsrichtlinie oder Proxyeinstellungen zu konfigurieren.

new EventHubBufferedProducerClient(connectionString: string, options: EventHubBufferedProducerClientOptions)

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 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
EventHubBufferedProducerClientOptions

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 die Kanalung der AMQP-Verbindung über Websockets.
  • 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, um Wiederholungsrichtlinie oder Proxyeinstellungen zu konfigurieren.

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 Eigenschaften des freigegebenen Schlüssels 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 eine Verbindung herstellt.

options
EventHubBufferedProducerClientOptions

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 die Kanalung der AMQP-Verbindung über Websockets.
  • 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, um Wiederholungsrichtlinie oder Proxyeinstellungen zu konfigurieren.

new EventHubBufferedProducerClient(fullyQualifiedNamespace: string, eventHubName: string, credential: TokenCredential | NamedKeyCredential | SASCredential, options: EventHubBufferedProducerClientOptions)

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 herstellt.

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
EventHubBufferedProducerClientOptions

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 EventHubBufferedProducerClient zu identifizieren. Wenn nicht angegeben oder leer, wird eine zufällige eindeutige generiert.

identifier: string

Eigenschaftswert

string

Details zur Methode

close(BufferedCloseOptions)

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.

Dadurch wird gewartet, bis Ereignisse in der Warteschlange in den Dienst geleert werden, bevor die Verbindung geschlossen wird. Um das Schließen ohne Leerung zu schließen, legen Sie die flush Option auf fest false.

function close(options?: BufferedCloseOptions): Promise<void>

Parameter

options
BufferedCloseOptions

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

Gibt zurück

Promise<void>

Promise

enqueueEvent(EventData | AmqpAnnotatedMessage, EnqueueEventOptions)

Stellt ein Ereignis in die Warteschlange in den Puffer, das im Event Hub veröffentlicht werden soll. Wenn keine Kapazität im Puffer vorhanden ist, wenn diese Methode aufgerufen wird, wartet sie, bis Speicherplatz verfügbar ist, und stellt sicher, dass das Ereignis in die Warteschlange gestellt wurde.

Wenn dieser Aufruf zurückgibt, wurde das Ereignis im Puffer akzeptiert, aber es wurde möglicherweise noch nicht veröffentlicht. Die Veröffentlichung erfolgt zu einem nicht deterministischen Zeitpunkt in der Zukunft, während der Puffer verarbeitet wird.

function enqueueEvent(event: EventData | AmqpAnnotatedMessage, options?: EnqueueEventOptions): Promise<number>

Parameter

options
EnqueueEventOptions

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

  • abortSignal : Ein Signal, das zum Abbrechen des Vorgangs "EnqueueEvent" verwendet wird.
  • partitionId : Die Partition, an die dieser Ereignissatz 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<number>

Die Gesamtanzahl der Ereignisse, die derzeit gepuffert sind und auf die Veröffentlichung warten, über alle Partitionen hinweg.

enqueueEvents(EventData[] | AmqpAnnotatedMessage[], EnqueueEventOptions)

Stellt Ereignisse in die Warteschlange 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 Speicherplatz verfügbar ist, und stellt sicher, dass die Ereignisse in die Warteschlange gestellt wurden.

Wenn dieser Aufruf zurückgibt, wurden die Ereignisse im Puffer akzeptiert, aber möglicherweise noch nicht veröffentlicht. Die Veröffentlichung erfolgt zu einem nicht deterministischen Zeitpunkt in der Zukunft, während der Puffer verarbeitet wird.

function enqueueEvents(events: EventData[] | AmqpAnnotatedMessage[], options?: EnqueueEventOptions): Promise<number>

Parameter

events

EventData[] | AmqpAnnotatedMessage[]

Ein Array von EventData oder AmqpAnnotatedMessage.

options
EnqueueEventOptions

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 : Ein Signal, das zum Abbrechen des Vorgangs "enqueueEvents" verwendet wird.
  • partitionId : Die Partition, an die dieser Ereignissatz 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<number>

Die Gesamtanzahl der Ereignisse, die derzeit gepuffert sind und auf die Veröffentlichung warten, über alle Partitionen hinweg.

flush(BufferedFlushOptions)

Versucht, alle Ereignisse sofort im Puffer zu veröffentlichen. Dies kann dazu führen, dass mehrere Batches veröffentlicht werden, die jeweils einzeln von den onSendEventsSuccessHandler Handlern und onSendEventsErrorHandler gemeldet werden.

function flush(options?: BufferedFlushOptions): Promise<void>

Parameter

options
BufferedFlushOptions

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

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.