Freigeben über


@azure/event-hubs package

Klassen

EventHubBufferedProducerClient

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

Ereignisse EventHubBufferedProducerClient werden nicht sofort veröffentlicht. Stattdessen werden Ereignisse gepuffert, sodass sie effizient in Batches umgewandelt und veröffentlicht werden können, wenn der Batch voll ist oder ohne maxWaitTimeInMs neue Ereignisse abgelaufen ist.

Je nach den Optionen, die beim Queuieren von Ereignissen angegeben werden, können sie automatisch einer Partition zugewiesen, nach dem angegebenen Partitionsschlüssel gruppiert oder einer speziell angeforderten Partition zugewiesen werden.

Dieses Modell soll die Belastung der Batchverwaltung von Anrufern auf Kosten eines nicht deterministischen Zeitpunkts für den Zeitpunkt der Veröffentlichung von Ereignissen verlagern. Es gibt auch zusätzliche Kompromisse, die zu berücksichtigen sind:

  • Wenn die Anwendung abstürzt, wurden die Ereignisse im Puffer nicht veröffentlicht. Um Datenverluste zu verhindern, werden Aufrufer aufgefordert, den Veröffentlichungsfortschritt mithilfe der onSendEventsSuccessHandler Handler und onSendEventsErrorHandler nachzuverfolgen.
  • Ereignisse, die einen Partitionsschlüssel angeben, können einer anderen Partition zugewiesen werden als denen, die denselben Schlüssel mit anderen Produzenten verwenden.
  • Im unwahrscheinlichen Fall, dass eine Partition vorübergehend nicht verfügbar ist, kann die EventHubBufferedProducerClient Wiederherstellung länger dauern als andere Hersteller.

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.

EventHubConsumerClient

Die EventHubConsumerClient -Klasse wird verwendet, um Ereignisse aus einem Event Hub zu nutzen.

Es gibt mehrere Möglichkeiten, eine EventHubConsumerClient

  • 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 Folgendes übergeben:

  • Ein Optionsbehälter zum Konfigurieren der Wiederholungsrichtlinie oder proxyeinstellungen.
  • Ein Prüfpunktspeicher, der vom Client zum Lesen von Prüfpunkten verwendet wird, um die Position zu bestimmen, von der aus die Empfangen von Ereignissen fortgesetzt werden soll, wenn Ihre Anwendung neu gestartet wird. Der Prüfpunktspeicher wird auch vom Client zum Lastenausgleich für mehrere Instanzen Ihrer Anwendung verwendet.
EventHubProducerClient

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 eine Optionstasche übergeben, um die Wiederholungsrichtlinie oder proxyeinstellungen zu konfigurieren.

MessagingError

Beschreibt die Basisklasse für MessagingFehler.

Schnittstellen

BufferedCloseOptions

Optionen zum Konfigurieren der close -Methode für .EventHubBufferedProducerClient

BufferedFlushOptions

Optionen zum Konfigurieren der flush -Methode für .EventHubBufferedProducerClient

Checkpoint

Ein Prüfpunkt soll das letzte erfolgreich verarbeitete Ereignis des Benutzers aus einer bestimmten Partition einer Consumergruppe in einem Event Hub-instance darstellen.

Wenn die updateCheckpoint() -Methode für die PartitionProcessor -Klasse vom Benutzer aufgerufen wird, wird intern ein Checkpoint erstellt. Sie wird dann in der Speicherlösung gespeichert, die CheckpointManager vom Benutzer beim Erstellen von EventProcessorimplementiert wird.

Es wird nie erwartet, dass Benutzer direkt mit Checkpoint ihnen interagieren. Diese Schnittstelle ist vorhanden, um die interne Funktionsweise von EventProcessor und CheckpointManagerzu unterstützen.

CheckpointStore

Ein Prüfpunktspeicher speichert und ruft Partitionsbesitzinformationen und Prüfpunktdetails für jede Partition in einer bestimmten Consumergruppe eines Event Hub-instance ab.

Benutzer sind nicht dafür vorgesehen, ein CheckpointStorezu implementieren. Benutzer müssen vorhandene Implementierungen dieser Schnittstelle auswählen, instanziieren und an den EventHubConsumerClient Klassenkonstruktor übergeben, wenn sie einen Client instanziieren. Es wird nicht erwartet, dass Benutzer eine der Methoden in einem Prüfpunktspeicher verwenden, diese werden intern vom Client verwendet.

Implementierungen von CheckpointStore finden Sie in npm, indem Sie nach Paketen mit dem Präfix @azure/eventhub-checkpointstore- suchen.

CreateBatchOptions

Optionen zum Konfigurieren der createBatch -Methode für .EventHubProducerClient

  • partitionKey : Ein Wert, der mit einem Hash versehen wird, um eine Partitionszuweisung zu erzeugen.
  • maxSizeInBytes: Die Obergrenze für die Batchgröße.
  • abortSignal : Signalisiert die Anforderung, den Sendevorgang abzubrechen.

Beispielverwendung:

{
    partitionKey: 'foo',
    maxSizeInBytes: 1024 * 1024 // 1 MB
}
EnqueueEventOptions

Optionen zum Konfigurieren der enqueueEvents -Methode für .EventHubBufferedProducerClient

EventData

Die Schnittstelle, die die Daten beschreibt, die an Event Hub gesendet werden sollen. Verwenden Sie dies als Verweis beim Erstellen des -Objekts, das bei Verwendung von EventHubProducerClientgesendet werden soll. Beispielsweise { body: "your-data" } oder

{
   body: "your-data",
   properties: {
      propertyName: "property value"
   }
}
EventDataAdapterParameters

Parameter für die createEventDataAdapter Funktion, die einen Ereignisdatenadapter erstellt.

EventDataBatch

Eine Schnittstelle, die einen Batch von Ereignissen darstellt, die zum Senden von Ereignissen an Event Hub verwendet werden können.

Verwenden Sie zum Erstellen des Batches die createBatch() -Methode für .EventHubProducerClient Verwenden Sie zum Senden des Batches die sendBatch() -Methode auf demselben Client. Um den Batch auszufüllen, verwenden Sie die tryAdd() -Methode für den Batch selbst.

EventHubBufferedProducerClientOptions

Beschreibt die Optionen, die beim Erstellen von EventHubBufferedProducerClientbereitgestellt werden können.

EventHubClientOptions

Beschreibt die Optionen, die beim Erstellen des EventHubClients bereitgestellt werden können.

  • userAgent : Eine Zeichenfolge, die an die integrierte Benutzer-Agent-Zeichenfolge angefügt werden soll, die als Verbindungseigenschaft an den Dienst übergeben wird.
  • webSocketOptions : Optionen zum Konfigurieren der Kanalerstellung der AMQP-Verbindung über Websockets.
    • websocket : Der WebSocket-Konstruktor, der zum Erstellen einer AMQP-Verbindung verwendet wird, wenn Sie die Verbindung über ein WebSocket herstellen möchten.
    • webSocketConstructorOptions : Optionen zum Übergeben an den Websocket-Konstruktor, wenn Sie die Verbindung über ein WebSocket herstellen möchten.
  • retryOptions : Die Wiederholungsoptionen für alle Vorgänge auf dem Client/Producer/Consumer.
    • maxRetries : Die Anzahl der Wiederholungen des Vorgangs im Falle eines wiederholungsfähigen Fehlers.
    • maxRetryDelayInMs: Die maximale Verzögerung zwischen Wiederholungen. Gilt nur für exponentielle Wiederholungen.
    • mode: Welcher Wiederholungsmodus angewendet werden soll, der durch die RetryMode Aufzählung angegeben wird. Die Optionen sind Exponential und Fixed. Der Standardwert lautet Fixed.
    • retryDelayInMs: Die Zeit, die in Millisekunden gewartet werden muss, bevor sie den nächsten Versuch unternehmen. Wenn mode auf Exponentialfestgelegt ist, wird dies verwendet, um die exponentiell steigenden Verzögerungen zwischen Wiederholungen zu berechnen. Standardwert: 30000 Millisekunden.
    • timeoutInMs: Die Wartezeit in Millisekunden, bis das Timeout des Vorgangs auftritt. Dadurch wird ein Wiederholungsversuch ausgelöst, wenn noch Wiederholungsversuche vorhanden sind. Standardwert: 60000 Millisekunden.

Eine einfache Verwendung kann sein { "maxRetries": 4 }.

Beispielverwendung:

{
    retryOptions: {
        maxRetries: 4
    }
}
EventHubConnectionStringProperties

Der Satz von Eigenschaften, die eine Event Hub-Verbindungszeichenfolge.

EventHubConsumerClientOptions

Beschreibt die Optionen, die beim Erstellen von EventHubConsumerClient bereitgestellt werden können.

  • loadBalancingOptions: Optionen zum Optimieren, wie der EventHubConsumerClient Partitionen beansprucht.
  • userAgent : Eine Zeichenfolge, die an die integrierte Benutzer-Agent-Zeichenfolge angefügt werden soll, die als Verbindungseigenschaft an den Dienst übergeben wird.
  • webSocketOptions : Optionen zum Konfigurieren der Kanalerstellung der AMQP-Verbindung über Websockets.
    • websocket : Der WebSocket-Konstruktor, der zum Erstellen einer AMQP-Verbindung verwendet wird, wenn Sie die Verbindung über ein WebSocket herstellen möchten.
    • webSocketConstructorOptions : Optionen zum Übergeben an den Websocket-Konstruktor, wenn Sie die Verbindung über ein WebSocket herstellen möchten.
  • retryOptions : Die Wiederholungsoptionen für alle Vorgänge auf dem Client/Producer/Consumer.
    • maxRetries : Die Anzahl der Wiederholungen des Vorgangs im Falle eines wiederholungsfähigen Fehlers.
    • maxRetryDelayInMs: Die maximale Verzögerung zwischen Wiederholungen. Gilt nur für exponentielle Wiederholungen.
    • mode: Welcher Wiederholungsmodus angewendet werden soll, der durch die RetryMode Aufzählung angegeben wird. Die Optionen sind Exponential und Fixed. Der Standardwert lautet Fixed.
    • retryDelayInMs: Die Zeit, die in Millisekunden gewartet werden muss, bevor sie den nächsten Versuch unternehmen. Wenn mode auf Exponentialfestgelegt ist, wird dies verwendet, um die exponentiell steigenden Verzögerungen zwischen Wiederholungen zu berechnen. Standardwert: 30000 Millisekunden.
    • timeoutInMs: Die Wartezeit in Millisekunden, bis das Timeout des Vorgangs auftritt. Dadurch wird ein Wiederholungsversuch ausgelöst, wenn noch Wiederholungsversuche vorhanden sind. Standardwert: 60000 Millisekunden.

Eine einfache Verwendung kann sein { "maxRetries": 4 }.

Beispielverwendung:

{
    retryOptions: {
        maxRetries: 4
    }
}
EventHubProperties

Beschreibt die Laufzeitinformationen eines Event Hubs.

EventPosition

Stellt die Position eines Ereignisses in einer Event Hub-Partition dar, die in der Regel beim Aufrufen der subscribe() -Methode für ein EventHubConsumerClient verwendet wird, um die Position in der Partition anzugeben, von der Ereignisse empfangen werden sollen.

Um eine EventPosition abzurufen, die den Anfang oder das Ende des Datenstroms darstellt, verwenden Sie die Konstanten earliestEventPosition bzw latestEventPosition .

GetEventHubPropertiesOptions

Der Satz von Optionen zum Konfigurieren des Verhaltens von getEventHubProperties.

  • abortSignal : Eine Implementierung der AbortSignalLike Schnittstelle, um die Anforderung zum Abbrechen des Vorgangs zu signalisieren.
  • parentSpan : Der Span oder SpanContext , der als der parent der beim Aufrufen dieses Vorgangs erstellten Spanne verwendet werden soll.
GetPartitionIdsOptions

Der Satz von Optionen zum Konfigurieren des Verhaltens von getPartitionIds.

  • abortSignal : Eine Implementierung der AbortSignalLike Schnittstelle, um die Anforderung zum Abbrechen des Vorgangs zu signalisieren.
  • parentSpan : Der Span oder SpanContext , der als der parent der beim Aufrufen dieses Vorgangs erstellten Spanne verwendet werden soll.
GetPartitionPropertiesOptions

Der Satz von Optionen zum Konfigurieren des Verhaltens von getPartitionProperties.

  • abortSignal : Eine Implementierung der AbortSignalLike Schnittstelle, um die Anforderung zum Abbrechen des Vorgangs zu signalisieren.
  • parentSpan : Der Span oder SpanContext , der als der parent der beim Aufrufen dieses Vorgangs erstellten Spanne verwendet werden soll.
LastEnqueuedEventProperties

Eine Reihe von Informationen zum letzten in Warteschlange gestellten Ereignis einer Partition, die vom Consumer beobachtet wird, wenn Ereignisse vom Event Hubs-Dienst empfangen werden.

LoadBalancingOptions

Eine Optionstasche zum Konfigurieren von Lastenausgleichseinstellungen.

OnSendEventsErrorContext

Enthält die Ereignisse, die nicht erfolgreich an den Event Hub gesendet wurden, die Partition, der sie zugewiesen wurden, und den Fehler, der beim Senden aufgetreten ist.

OnSendEventsSuccessContext

Enthält die Ereignisse, die erfolgreich an den Event Hub gesendet wurden, und die Partition, der sie zugewiesen wurden.

OperationOptions

Optionen zum Konfigurieren der Ablaufverfolgung und des abortSignals.

PartitionContext

Schnittstelle, die den Kontext beschreibt, der an jede der Funktionen übergeben wird, die Teil von SubscriptionEventHandlerssind. Wenn Sie eine dieser Funktionen implementieren, verwenden Sie das Kontextobjekt, um Informationen über die Partition sowie die Möglichkeit zum Prüfpunkt abzurufen.

PartitionOwnership

Eine Schnittstelle, die die Details darstellt, auf denen instance einer EventProcessor eigenen Verarbeitung einer bestimmten Partition aus einer Consumergruppe eines Event Hub-instance.

Hinweis: Dies wird intern von verwendet, und der EventProcessor Benutzer muss es nie direkt erstellen.

PartitionProperties

Beschreibt die Laufzeitinformationen einer EventHub-Partition.

ReceivedEventData

Die Schnittstelle, die die Struktur des von Event Hub empfangenen Ereignisses beschreibt. Verwenden Sie dies als Verweis beim Erstellen der processEvents -Funktion, um die Ereignisse zu verarbeiten, die von einem Event Hub empfangen werden, wenn Sie verwenden EventHubConsumerClient.

RetryOptions

Wiederholungsrichtlinienoptionen, die den Modus, die Anzahl der Wiederholungen, das Wiederholungsintervall usw. bestimmen.

SendBatchOptions

Optionen zum Konfigurieren der sendBatch -Methode für das EventHubProducerClient Senden eines Arrays von Ereignissen. Wenn partitionId festgelegt ist, partitionKey darf nicht festgelegt werden und umgekehrt.

  • partitionId : Die Partition, an die dieser Batch gesendet wird.
  • partitionKey : Ein Wert, der mit einem Hash versehen wird, um eine Partitionszuweisung zu erzeugen.
  • abortSignal : Ein Signal, das zum Abbrechen des Sendevorgangs verwendet wird.
SubscribeOptions

Optionen zum Konfigurieren der subscribe -Methode für .EventHubConsumerClient Zum Beispiel, { maxBatchSize: 20, maxWaitTimeInSeconds: 120, startPosition: { sequenceNumber: 123 } }

Subscription

Schnittstelle, die das von der subscribe() -Methode für EventHubConsumerClientzurückgegebene Objekt beschreibt.

SubscriptionEventHandlers

Schnittstelle, die die vom Benutzer zu implementierenden Funktionen beschreibt, die beim Aufruf der EventHubConsumerClientsubscribe() -Methode aufgerufen werden, um Ereignisse von Event Hub zu empfangen.

TokenCredential

Stellt eine Anmeldeinformation dar, die ein Authentifizierungstoken bereitstellen kann.

TryAddOptions

Optionen zum Konfigurieren des Verhaltens der tryAdd -Methode für die EventDataBatch -Klasse.

WebSocketImpl

Beschreibt die erforderliche Form von WebSocket-Konstruktoren.

WebSocketOptions

Optionen zum Konfigurieren der Kanalerstellung der AMQP-Verbindung über Websockets.

Typaliase

ProcessCloseHandler

Signatur der vom Benutzer bereitgestellten Funktion, die direkt EventHubConsumerClient nach dem Beenden aufgerufen wird, um Ereignisse von einer Partition zu empfangen.

ProcessErrorHandler

Die Signatur der vom Benutzer bereitgestellten Funktion wird EventHubConsumerClient für Fehler aufgerufen, die beim Empfangen von Ereignissen oder beim Ausführen einer der vom Benutzer bereitgestellten Funktionen, die an die subscribe() -Methode übergeben werden, auftreten.

ProcessEventsHandler

Signatur der vom Benutzer bereitgestellten Funktion, die aufgerufen wird EventHubConsumerClient , wenn eine Reihe von Ereignissen empfangen wird.

ProcessInitializeHandler

Signatur der vom Benutzer bereitgestellten Funktion, die kurz vor dem Empfang von Ereignissen von einer Partition aufgerufen wird EventHubConsumerClient .

Enumerationen

CloseReason

Eine Enumeration, die die verschiedenen Gründe für das EventHubConsumerClient Beenden der Verarbeitung von Ereignissen von einer Partition in einer Consumergruppe eines Event Hubs darstellt.

RetryMode

Beschreibt den Wiederholungsmodustyp

Functions

createEventDataAdapter(EventDataAdapterParameters)

Eine Funktion, die einen Ereignisdatenadapter erstellt. Dieser Adapter kann zum @azure/schema-registry-avro Codieren und Decodieren von Text in Ereignisdaten verwendet werden.

parseEventHubConnectionString(string)

Analysiert Verbindungszeichenfolge die verschiedenen Eigenschaften, die für Azure Event Hubs gelten. Die Eigenschaften sind nützlich, um dann einen EventHubProducerClient oder einen EventHubConsumerClient zu erstellen.

Details zur Funktion

createEventDataAdapter(EventDataAdapterParameters)

Eine Funktion, die einen Ereignisdatenadapter erstellt. Dieser Adapter kann zum @azure/schema-registry-avro Codieren und Decodieren von Text in Ereignisdaten verwendet werden.

function createEventDataAdapter(params?: EventDataAdapterParameters): MessageAdapter<EventData>

Parameter

params
EventDataAdapterParameters

Parameter zum Erstellen der Ereignisdaten

Gibt zurück

MessageAdapter<EventData>

Ein Ereignisdatenadapter, der Ereignisdaten erzeugen und nutzen kann

parseEventHubConnectionString(string)

Analysiert Verbindungszeichenfolge die verschiedenen Eigenschaften, die für Azure Event Hubs gelten. Die Eigenschaften sind nützlich, um dann einen EventHubProducerClient oder einen EventHubConsumerClient zu erstellen.

function parseEventHubConnectionString(connectionString: string): Readonly<EventHubConnectionStringProperties>

Parameter

connectionString

string

Die Verbindungszeichenfolge der Shared Access Policy zugeordnet, die für den Event Hubs-Namespace erstellt wurde.

Gibt zurück