Freigeben über


EventHubBufferedProducerClient class

Die EventHubBufferedProducerClientwird 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 und onSendEventsErrorHandler 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

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.

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.

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.

Eigenschaften

eventHubName

Der Name der Event Hub-Instanz, für die dieser Client erstellt wird.

fullyQualifiedNamespace

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(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 falsefest.

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.

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.

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.

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

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

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

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 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 AzureNamedKeyCredentialzugeordnet. Verwenden Sie die AzureSASCredential aus @azure/core-auth, wenn Sie eine SharedAccessSignature ohne Verbindungszeichenfolge übergeben möchten. Dieses Feld ist in AzureSASCredentialsignature zugeordnet.

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

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

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, kann partitionKey nicht festgelegt werden.
  • partitionKey: Ein Wert, der hashed ist, um eine Partitionszuweisung zu erzeugen. Wenn festgelegt, kann partitionId 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

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, 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, kann partitionKey nicht festgelegt werden.
  • partitionKey: Ein Wert, der hashed ist, um eine Partitionszuweisung zu erzeugen. Wenn festgelegt, kann partitionId 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

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

Eine Zusage, die mit Informationen zum Zustand der Partition aufgelöst wird.