Udostępnij za pośrednictwem


@azure/event-hubs package

Klasy

EventHubBufferedProducerClient

EventHubBufferedProducerClientsłuży do publikowania zdarzeń w określonym centrum zdarzeń.

EventHubBufferedProducerClient nie publikuje natychmiast zdarzeń. Zamiast tego zdarzenia są buforowane, dzięki czemu mogą być wydajnie wsadowe i publikowane, gdy partia jest pełna lub maxWaitTimeInMs upłynął bez nowych zdarzeń w kolejce.

W zależności od opcji określonych, gdy zdarzenia są w kolejce, mogą być automatycznie przypisywane do partycji, pogrupowane zgodnie z określonym kluczem partycji lub przypisane specjalnie żądanej partycji.

Ten model ma na celu przesunięcie obciążenia zarządzania wsadowego od osób wywołujących kosztem czasu niedeterministycznego dla czasu publikowania zdarzeń. Istnieją dodatkowe kompromisy, które należy wziąć pod uwagę, a także:

  • Jeśli aplikacja ulegnie awarii, zdarzenia w buforze nie zostaną opublikowane. Aby zapobiec utracie danych, osoby wywołujące są zachęcane do śledzenia postępu publikowania przy użyciu procedur obsługi onSendEventsSuccessHandler i onSendEventsErrorHandler.
  • Zdarzenia określające klucz partycji mogą mieć przypisaną inną partycję niż te, które używają tego samego klucza u innych producentów.
  • W mało prawdopodobnym przypadku, gdy partycja stanie się tymczasowo niedostępna, EventHubBufferedProducerClient może potrwać dłużej niż inni producenci.

W scenariuszach, w których ważne jest, aby zdarzenia były publikowane natychmiast z wynikiem deterministycznym, upewnij się, że klucze partycji są przypisane do partycji zgodnej z innymi wydawcami lub gdy maksymalizacja dostępności jest wymagana, użycie EventHubProducerClient jest zalecane.

EventHubConsumerClient

Klasa EventHubConsumerClient służy do korzystania ze zdarzeń z centrum zdarzeń.

Istnieje wiele sposobów tworzenia EventHubConsumerClient

  • Użyj parametrów połączenia z zasad sygnatury dostępu współdzielonego utworzonych dla wystąpienia centrum zdarzeń.
  • Użyj parametrów połączenia z zasad sygnatury dostępu współdzielonego utworzonych dla przestrzeni nazw centrum zdarzeń i nazwy wystąpienia centrum zdarzeń
  • Użyj pełnej przestrzeni nazw, takiej jak <yournamespace>.servicebus.windows.net, i obiektu poświadczeń.

Opcjonalnie możesz również przekazać następujące elementy:

  • Worek opcji konfigurowania zasad ponawiania lub ustawień serwera proxy.
  • Magazyn punktów kontrolnych używany przez klienta do odczytywania punktów kontrolnych w celu określenia położenia, z którego ma wznowić odbieranie zdarzeń po ponownym uruchomieniu aplikacji. Magazyn punktów kontrolnych jest również używany przez klienta do równoważenia obciążenia wielu wystąpień aplikacji.
EventHubProducerClient

Klasa EventHubProducerClient służy do wysyłania zdarzeń do centrum zdarzeń.

Istnieje wiele sposobów tworzenia EventHubProducerClient

  • Użyj parametrów połączenia z zasad sygnatury dostępu współdzielonego utworzonych dla wystąpienia centrum zdarzeń.
  • Użyj parametrów połączenia z zasad sygnatury dostępu współdzielonego utworzonych dla przestrzeni nazw centrum zdarzeń i nazwy wystąpienia centrum zdarzeń
  • Użyj pełnej przestrzeni nazw, takiej jak <yournamespace>.servicebus.windows.net, i obiektu poświadczeń.

Opcjonalnie możesz również przekazać torbę opcji, aby skonfigurować zasady ponawiania prób lub ustawienia serwera proxy.

MessagingError

Opisuje klasę podstawową dla błędu obsługi komunikatów.

Interfejsy

BufferedCloseOptions

Opcje konfigurowania metody close w EventHubBufferedProducerClient.

BufferedFlushOptions

Opcje konfigurowania metody flush w EventHubBufferedProducerClient.

Checkpoint

Punkt kontrolny jest przeznaczony do reprezentowania ostatniego pomyślnie przetworzonego zdarzenia przez użytkownika z określonej partycji grupy odbiorców w wystąpieniu centrum zdarzeń.

Gdy metoda updateCheckpoint() w klasie PartitionProcessor jest wywoływana przez użytkownika, Checkpoint jest tworzona wewnętrznie. Następnie jest on przechowywany w rozwiązaniu magazynu zaimplementowanym przez CheckpointManager wybrany przez użytkownika podczas tworzenia EventProcessor.

Użytkownicy nigdy nie powinni bezpośrednio korzystać z Checkpoint. Ten interfejs istnieje, aby obsługiwać wewnętrzne działania EventProcessor i CheckpointManager.

CheckpointStore

Magazyn punktów kontrolnych przechowuje i pobiera informacje o własności partycji oraz szczegóły punktów kontrolnych dla każdej partycji w danej grupie odbiorców wystąpienia centrum zdarzeń.

Użytkownicy nie mają implementować CheckpointStore. Użytkownicy powinni wybrać istniejące implementacje tego interfejsu, utworzyć wystąpienie go i przekazać go do konstruktora klasy EventHubConsumerClient podczas tworzenia wystąpienia klienta. Użytkownicy nie powinni używać żadnej z metod w magazynie punktów kontrolnych. Są one używane wewnętrznie przez klienta.

Implementacje CheckpointStore można znaleźć na serwerze npm, wyszukując pakiety z prefiksem @azure/eventhub-checkpointstore-.

CreateBatchOptions

Opcje konfigurowania metody createBatch w EventHubProducerClient.

  • partitionKey: wartość skrótu w celu utworzenia przypisania partycji.
  • maxSizeInBytes: górny limit rozmiaru partii.
  • abortSignal: sygnał żądania anulowania operacji wysyłania.

Przykładowe użycie:

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

Opcje konfigurowania metody enqueueEvents w EventHubBufferedProducerClient.

EventData

Interfejs opisujący dane, które mają być wysyłane do centrum zdarzeń. Użyj tego jako odwołania podczas tworzenia obiektu do wysłania podczas korzystania z EventHubProducerClient. Na przykład { body: "your-data" } lub

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

Parametry funkcji createEventDataAdapter, która tworzy kartę danych zdarzeń.

EventDataBatch

Interfejs reprezentujący partię zdarzeń, które mogą służyć do wysyłania zdarzeń do centrum zdarzeń.

Aby utworzyć partię, użyj metody createBatch() w EventHubProducerClient. Aby wysłać partię, użyj metody sendBatch() na tym samym kliencie. Aby wypełnić partię, użyj metody tryAdd() w samej partii.

EventHubBufferedProducerClientOptions

Opisuje opcje, które można udostępnić podczas tworzenia EventHubBufferedProducerClient.

EventHubClientOptions

Opisuje opcje, które można udostępnić podczas tworzenia elementu EventHubClient.

  • userAgent : ciąg dołączany do wbudowanych parametrów agenta użytkownika przekazywanych jako właściwość połączenia z usługą.
  • webSocketOptions: Opcje konfigurowania kanału połączenia AMQP za pośrednictwem gniazd sieci Web.
    • websocket: konstruktor Protokołu WebSocket używany do tworzenia połączenia protokołu AMQP, jeśli zdecydujesz się nawiązać połączenie za pośrednictwem protokołu WebSocket.
    • webSocketConstructorOptions: Opcje przekazywania do konstruktora protokołu Websocket podczas wybierania połączenia za pośrednictwem protokołu WebSocket.
  • retryOptions: opcje ponawiania dla wszystkich operacji na kliencie/producencie/odbiorcy.
    • maxRetries: liczba ponownych prób wykonania operacji w przypadku błędu możliwego do ponowienia próby.
    • maxRetryDelayInMs: maksymalne opóźnienie między ponowną próbą. Dotyczy tylko podczas wykonywania ponownych prób wykładniczych.
    • mode: który tryb ponawiania próby ma być stosowany, określony przez wyliczenie RetryMode. Opcje to Exponential i Fixed. Wartość domyślna to Fixed.
    • retryDelayInMs: czas oczekiwania w milisekundach przed podjęciem następnej próby. Gdy mode jest ustawiona na Exponential, służy do obliczania wykładniczo rosnących opóźnień między ponownymi próbami. Wartość domyślna: 30000 milisekund.
    • timeoutInMs: czas oczekiwania w milisekundach przed przekroczeniem limitu czasu operacji. Spowoduje to wyzwolenie ponawiania próby w przypadku pozostałych ponownych prób. Wartość domyślna: 60000 milisekund.

Proste użycie może być { "maxRetries": 4 }.

Przykładowe użycie:

{
    retryOptions: {
        maxRetries: 4
    }
}
EventHubConnectionStringProperties

Zestaw właściwości składających się na parametry połączenia centrum zdarzeń.

EventHubConsumerClientOptions

Opisuje opcje, które można udostępnić podczas tworzenia obiektu EventHubConsumerClient.

  • loadBalancingOptions: Opcje dostrajania sposobu partycjonowania oświadczeń eventHubConsumerClient.
  • userAgent : ciąg dołączany do wbudowanych parametrów agenta użytkownika przekazywanych jako właściwość połączenia z usługą.
  • webSocketOptions: Opcje konfigurowania kanału połączenia AMQP za pośrednictwem gniazd sieci Web.
    • websocket: konstruktor Protokołu WebSocket używany do tworzenia połączenia protokołu AMQP, jeśli zdecydujesz się nawiązać połączenie za pośrednictwem protokołu WebSocket.
    • webSocketConstructorOptions: Opcje przekazywania do konstruktora protokołu Websocket podczas wybierania połączenia za pośrednictwem protokołu WebSocket.
  • retryOptions: opcje ponawiania dla wszystkich operacji na kliencie/producencie/odbiorcy.
    • maxRetries: liczba ponownych prób wykonania operacji w przypadku błędu możliwego do ponowienia próby.
    • maxRetryDelayInMs: maksymalne opóźnienie między ponowną próbą. Dotyczy tylko podczas wykonywania ponownych prób wykładniczych.
    • mode: który tryb ponawiania próby ma być stosowany, określony przez wyliczenie RetryMode. Opcje to Exponential i Fixed. Wartość domyślna to Fixed.
    • retryDelayInMs: czas oczekiwania w milisekundach przed podjęciem następnej próby. Gdy mode jest ustawiona na Exponential, służy do obliczania wykładniczo rosnących opóźnień między ponownymi próbami. Wartość domyślna: 30000 milisekund.
    • timeoutInMs: czas oczekiwania w milisekundach przed przekroczeniem limitu czasu operacji. Spowoduje to wyzwolenie ponawiania próby w przypadku pozostałych ponownych prób. Wartość domyślna: 60000 milisekund.

Proste użycie może być { "maxRetries": 4 }.

Przykładowe użycie:

{
    retryOptions: {
        maxRetries: 4
    }
}
EventHubProperties

Opisuje informacje o czasie wykonywania centrum zdarzeń.

EventPosition

Reprezentuje położenie zdarzenia w partycji centrum zdarzeń, zwykle używane podczas wywoływania metody subscribe() na EventHubConsumerClient w celu określenia położenia w partycji, z którego mają rozpocząć odbieranie zdarzeń.

Aby uzyskać element EventPosition reprezentujący początek lub koniec strumienia, użyj odpowiednio stałych earliestEventPosition i latestEventPosition.

GetEventHubPropertiesOptions

Zestaw opcji konfigurowania zachowania getEventHubProperties.

  • abortSignal: implementacja interfejsu AbortSignalLike sygnalizuje żądanie anulowania operacji.
  • parentSpan: Span lub SpanContext do użycia jako parent zakresu utworzonego podczas wywoływania tej operacji.
GetPartitionIdsOptions

Zestaw opcji konfigurowania zachowania getPartitionIds.

  • abortSignal: implementacja interfejsu AbortSignalLike sygnalizuje żądanie anulowania operacji.
  • parentSpan: Span lub SpanContext do użycia jako parent zakresu utworzonego podczas wywoływania tej operacji.
GetPartitionPropertiesOptions

Zestaw opcji konfigurowania zachowania getPartitionProperties.

  • abortSignal: implementacja interfejsu AbortSignalLike sygnalizuje żądanie anulowania operacji.
  • parentSpan: Span lub SpanContext do użycia jako parent zakresu utworzonego podczas wywoływania tej operacji.
LastEnqueuedEventProperties

Zestaw informacji o ostatnim zdarzeniu w kolejce partycji obserwowany przez użytkownika jako zdarzenia odbierane z usługi Event Hubs

LoadBalancingOptions

Worek opcji konfigurowania ustawień równoważenia obciążenia.

OnSendEventsErrorContext

Zawiera zdarzenia, które nie zostały pomyślnie wysłane do centrum zdarzeń, do partycji, do której zostały przypisane, oraz błąd, który wystąpił podczas wysyłania.

OnSendEventsSuccessContext

Zawiera zdarzenia, które zostały pomyślnie wysłane do centrum zdarzeń, i partycję, do której zostały przypisane.

OperationOptions

Opcje konfigurowania śledzenia i abortSignal.

PartitionContext

Interfejs opisujący kontekst przekazywany do każdej funkcji, które są częścią SubscriptionEventHandlers. Podczas implementowania dowolnej z tych funkcji użyj obiektu kontekstu, aby uzyskać informacje o partycji, a także możliwość tworzenia punktów kontrolnych.

PartitionOwnership

Interfejs reprezentujący szczegóły dotyczące wystąpienia EventProcessor jest właścicielem przetwarzania danej partycji z grupy odbiorców wystąpienia centrum zdarzeń.

Uwaga: jest ona używana wewnętrznie przez EventProcessor, a użytkownik nigdy nie musi go tworzyć bezpośrednio.

PartitionProperties

Opisuje informacje o czasie wykonywania partycji EventHub.

ReceivedEventData

Interfejs opisujący strukturę zdarzenia odebranego z centrum zdarzeń. Użyj tej funkcji jako odwołania podczas tworzenia funkcji processEvents do przetwarzania zdarzeń odebranych z centrum zdarzeń podczas korzystania z EventHubConsumerClient.

RetryOptions

Opcje zasad ponawiania, które określają tryb, liczbę ponownych prób, interwał ponawiania prób itp.

SendBatchOptions

Opcje konfigurowania metody sendBatch na EventHubProducerClient podczas wysyłania tablicy zdarzeń. Jeśli partitionId jest ustawiona, nie można ustawić partitionKey i na odwrót.

  • partitionId: partycja, do tej partii zostanie wysłana.
  • partitionKey: wartość skrótu w celu utworzenia przypisania partycji.
  • abortSignal: sygnał używany do anulowania operacji wysyłania.
SubscribeOptions

Opcje konfigurowania metody subscribe w EventHubConsumerClient. Na przykład { maxBatchSize: 20, maxWaitTimeInSeconds: 120, startPosition: { sequenceNumber: 123 } }

Subscription

Interfejs opisujący obiekt zwrócony przez metodę subscribe() w EventHubConsumerClient.

SubscriptionEventHandlers

Interfejs opisujący funkcje, które mają być implementowane przez użytkownika, który jest wywoływany przez EventHubConsumerClient, gdy metoda subscribe() jest wywoływana w celu odbierania zdarzeń z centrum zdarzeń.

TokenCredential

Reprezentuje poświadczenie, które może zapewnić token uwierzytelniania.

TryAddOptions

Opcje konfigurowania zachowania metody tryAdd w klasie EventDataBatch.

WebSocketImpl

Opisuje wymagany kształt konstruktorów protokołu WebSocket.

WebSocketOptions

Opcje konfigurowania kanału połączenia AMQP za pośrednictwem gniazd sieci Web.

Aliasy typu

ProcessCloseHandler

Podpis funkcji udostępnionej przez użytkownika wywoływanej przez EventHubConsumerClient tuż po zatrzymaniu odbierania zdarzeń z partycji.

ProcessErrorHandler

Podpis funkcji udostępnionej przez użytkownika wywoływanej przez EventHubConsumerClient pod kątem błędów występujących podczas odbierania zdarzeń lub wykonywania dowolnych funkcji udostępnionych przez użytkownika przekazanych do metody subscribe().

ProcessEventsHandler

Podpis funkcji udostępnionej przez użytkownika wywoływanej przez EventHubConsumerClient po odebraniu zestawu zdarzeń.

ProcessInitializeHandler

Podpis funkcji udostępnionej przez użytkownika wywoływanej przez EventHubConsumerClient tuż przed rozpoczęciem odbierania zdarzeń z partycji.

Wyliczenia

CloseReason

Wyliczenie reprezentujące różne przyczyny EventHubConsumerClient zatrzymania przetwarzania zdarzeń z partycji w grupie odbiorców centrum zdarzeń.

RetryMode

Opisuje typ trybu ponawiania prób

Funkcje

createEventDataAdapter(EventDataAdapterParameters)

Funkcja, która konstruuje kartę danych zdarzeń. Tej karty można używać z @azure/schema-registry-avro do kodowania i dekodowania treści w danych zdarzenia.

parseEventHubConnectionString(string)

Analizuje podane parametry połączenia do różnych właściwości mających zastosowanie do usługi Azure Event Hubs. Właściwości są przydatne do konstruowania elementu EventHubProducerClient lub EventHubConsumerClient.

Szczegóły funkcji

createEventDataAdapter(EventDataAdapterParameters)

Funkcja, która konstruuje kartę danych zdarzeń. Tej karty można używać z @azure/schema-registry-avro do kodowania i dekodowania treści w danych zdarzenia.

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

Parametry

params
EventDataAdapterParameters

parametry tworzenia danych zdarzenia

Zwraca

MessageAdapter<EventData>

Karta danych zdarzenia, która może tworzyć dane zdarzeń i korzystać z nich

parseEventHubConnectionString(string)

Analizuje podane parametry połączenia do różnych właściwości mających zastosowanie do usługi Azure Event Hubs. Właściwości są przydatne do konstruowania elementu EventHubProducerClient lub EventHubConsumerClient.

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

Parametry

connectionString

string

Parametry połączenia skojarzone z zasadami dostępu współdzielonego utworzone dla przestrzeni nazw usługi Event Hubs.

Zwraca