Freigeben über


@azure/event-hubs package

Klassen

EventHubBufferedProducerClient

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.

EventHubConsumerClient

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

Es gibt mehrere Möglichkeiten zum Erstellen eines EventHubConsumerClient

  • 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.netund ein Anmeldeinformationsobjekt.

Optional können Sie auch Folgendes übergeben:

  • Ein Optionsbehälter zum Konfigurieren der Wiederholungsrichtlinie oder Proxyeinstellungen.
  • Ein Prüfpunktspeicher, der vom Client verwendet wird, um Prüfpunkte zu lesen, um die Position zu bestimmen, an der er den Empfang von Ereignissen fortsetzen soll, wenn die Anwendung neu gestartet wird. Der Prüfpunktspeicher wird auch vom Client verwendet, um mehrere Instanzen Ihrer Anwendung zu laden.
EventHubProducerClient

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.netund ein Anmeldeinformationsobjekt.

Optional können Sie auch einen Optionsbehälter übergeben, um die Wiederholungsrichtlinie oder Proxyeinstellungen zu konfigurieren.

MessagingError

Beschreibt die Basisklasse für Messaging-Fehler.

Schnittstellen

BufferedCloseOptions

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

BufferedFlushOptions

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

Checkpoint

Ein Prüfpunkt soll das letzte erfolgreich verarbeitete Ereignis des Benutzers aus einer bestimmten Partition einer Consumergruppe in einer Event Hub-Instanz 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 von der vom Benutzer beim Erstellen einer EventProcessorgewählten CheckpointManager implementiert wird.

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

CheckpointStore

In einem Prüfpunktspeicher werden Partitionsbesitzinformationen und Prüfpunktdetails für jede Partition in einer bestimmten Consumergruppe einer Event Hub-Instanz gespeichert und abgerufen.

Benutzer sollen keine CheckpointStoreimplementieren. Es wird erwartet, dass Benutzer vorhandene Implementierungen dieser Schnittstelle auswählen, instanziieren und beim Instanziieren eines Clients an den EventHubConsumerClient Klassenkonstruktor übergeben. Benutzer werden nicht davon ausgegangen, dass sie eine der Methoden in einem Prüfpunktspeicher verwenden, diese werden intern vom Client verwendet.

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

CreateBatchOptions

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

  • partitionKey: Ein Wert, der hashed ist, um eine Partitionszuweisung zu erzeugen.
  • maxSizeInBytes: Die obere Grenze für die Größe des Batches.
  • abortSignal: Signal der Anforderung zum Abbrechen des Sendevorgangs.

Beispielverwendung:

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

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

EventData

Die Schnittstelle, die die Daten beschreibt, die an den Event Hub gesendet werden sollen. Verwenden Sie dies als Verweis beim Erstellen des Objekts, das gesendet werden soll, wenn die EventHubProducerClientverwendet wird. Beispiel: { 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 die 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 der EventHubBufferedProducerClientbereitgestellt werden können.

EventHubClientOptions

Beschreibt die Optionen, die beim Erstellen des EventHubClient 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 Kanalierung der AMQP-Verbindung über Web Sockets.
    • 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/Produzent/Verbraucher.
    • maxRetries: Die Anzahl der Wiederholungsversuche des Vorgangs im Falle eines wiederholungsfähigen Fehlers.
    • maxRetryDelayInMs: Die maximale Verzögerung zwischen Wiederholungen. Gilt nur, wenn exponentielle Wiederholungen ausgeführt werden.
    • mode: Welcher Wiederholungsmodus angewendet werden soll, angegeben durch die RetryMode Enumeration. Optionen sind Exponential und Fixed. Standardmäßig wird Fixed.
    • retryDelayInMs: Zeitaufwand für die Wartezeit in Millisekunden, bevor der nächste Versuch unternommen wird. Wenn mode auf Exponentialfestgelegt ist, wird dies verwendet, um die exponentiell steigenden Verzögerungen zwischen Wiederholungen zu berechnen. Standard: 30000 Millisekunden.
    • timeoutInMs: Zeit in Millisekunden, bis der Vorgang ausläuft. Dadurch wird ein Wiederholungsversuch ausgelöst, wenn wiederholungsversuche noch vorhanden sind. Standardwert: 60000 Millisekunden.

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

Beispielverwendung:

{
    retryOptions: {
        maxRetries: 4
    }
}
EventHubConnectionStringProperties

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

EventHubConsumerClientOptions

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

  • loadBalancingOptions: Optionen zum Optimieren der EventHubConsumerClient-Anspruchspartitionen.
  • 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 Kanalierung der AMQP-Verbindung über Web Sockets.
    • 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/Produzent/Verbraucher.
    • maxRetries: Die Anzahl der Wiederholungsversuche des Vorgangs im Falle eines wiederholungsfähigen Fehlers.
    • maxRetryDelayInMs: Die maximale Verzögerung zwischen Wiederholungen. Gilt nur, wenn exponentielle Wiederholungen ausgeführt werden.
    • mode: Welcher Wiederholungsmodus angewendet werden soll, angegeben durch die RetryMode Enumeration. Optionen sind Exponential und Fixed. Standardmäßig wird Fixed.
    • retryDelayInMs: Zeitaufwand für die Wartezeit in Millisekunden, bevor der nächste Versuch unternommen wird. Wenn mode auf Exponentialfestgelegt ist, wird dies verwendet, um die exponentiell steigenden Verzögerungen zwischen Wiederholungen zu berechnen. Standard: 30000 Millisekunden.
    • timeoutInMs: Zeit in Millisekunden, bis der Vorgang ausläuft. Dadurch wird ein Wiederholungsversuch ausgelöst, wenn wiederholungsversuche noch vorhanden sind. Standardwert: 60000 Millisekunden.

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

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

Die Gruppe von Optionen zum Konfigurieren des Verhaltens von getEventHubProperties.

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

Die Gruppe von Optionen zum Konfigurieren des Verhaltens von getPartitionIds.

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

Die Gruppe von Optionen zum Konfigurieren des Verhaltens von getPartitionProperties.

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

Eine Reihe von Informationen zum letzten enqueued-Ereignis einer Partition, wie vom Verbraucher beobachtet, wenn Ereignisse vom Event Hubs-Dienst empfangen werden

LoadBalancingOptions

Ein Optionsbehälter zum Konfigurieren der Einstellungen für den Lastenausgleich.

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 der SubscriptionEventHandlerssind. Verwenden Sie beim Implementieren einer dieser Funktionen das Kontextobjekt, um Informationen über die Partition sowie die Möglichkeit zum Prüfpunkt abzurufen.

PartitionOwnership

Eine Schnittstelle, die die Details darstellt, für welche Instanz einer EventProcessor die Verarbeitung einer bestimmten Partition aus einer Consumergruppe einer Event Hub-Instanz besitzt.

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

PartitionProperties

Beschreibt die Laufzeitinformationen einer EventHub-Partition.

ReceivedEventData

Die Schnittstelle, die die Struktur des Ereignisses beschreibt, das vom Event Hub empfangen wurde. Verwenden Sie dies als Verweis beim Erstellen der processEvents-Funktion, um die ereignisse zu verarbeiten, die von einem Event Hub bei Verwendung der EventHubConsumerClientempfangen werden.

RetryOptions

Wiederholen Sie Richtlinienoptionen, die den Modus, die Anzahl der Wiederholungen, das Wiederholungsintervall usw. bestimmen.

SendBatchOptions

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

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

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

Subscription

Schnittstelle, die das objekt beschreibt, das von der subscribe()-Methode für die EventHubConsumerClientzurückgegeben wird.

SubscriptionEventHandlers

Schnittstelle, die die vom Benutzer zu implementierenden Funktionen beschreibt, die vom EventHubConsumerClient aufgerufen werden, wenn die subscribe()-Methode aufgerufen wird, um Ereignisse vom 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 Kanalierung der AMQP-Verbindung über Web Sockets.

Typaliase

ProcessCloseHandler

Signatur der vom Benutzer bereitgestellten Funktion, die von EventHubConsumerClient unmittelbar nach dem Beenden des Empfangens von Ereignissen von einer Partition aufgerufen wird.

ProcessErrorHandler

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

ProcessEventsHandler

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

ProcessInitializeHandler

Die Signatur der vom Benutzer bereitgestellten Funktion, die von EventHubConsumerClient aufgerufen wird, bevor Sie mit dem Empfangen von Ereignissen aus einer Partition beginnen.

Enumerationen

CloseReason

Eine Enumeration, die die verschiedenen Gründe für eine EventHubConsumerClient darstellt, die Verarbeitung von Ereignissen von einer Partition in einer Consumergruppe eines Event Hub zu beenden.

RetryMode

Beschreibt den Typ "Wiederholungsmodus"

Functions

createEventDataAdapter(EventDataAdapterParameters)

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

parseEventHubConnectionString(string)

Analysiert die angegebene Verbindungszeichenfolge in 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 mit @azure/schema-registry-avro zum Codieren und Decodieren von Textkörpern 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 die angegebene Verbindungszeichenfolge in 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, die der für den Event Hubs-Namespace erstellten Freigegebenen Zugriffsrichtlinie zugeordnet ist.

Gibt zurück