Udostępnij za pośrednictwem


EventHubBufferedProducerClient class

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.

Konstruktory

EventHubBufferedProducerClient(string, EventHubBufferedProducerClientOptions)

Klasa EventHubBufferedProducerClient służy do wysyłania zdarzeń do centrum zdarzeń. Użyj parmetru options, aby skonfigurować zasady ponawiania prób lub ustawienia serwera proxy.

EventHubBufferedProducerClient(string, string, EventHubBufferedProducerClientOptions)

Klasa EventHubBufferedProducerClient służy do wysyłania zdarzeń do centrum zdarzeń. Użyj parmetru options, aby skonfigurować zasady ponawiania prób lub ustawienia serwera proxy.

EventHubBufferedProducerClient(string, string, TokenCredential | NamedKeyCredential | SASCredential, EventHubBufferedProducerClientOptions)

Klasa EventHubBufferedProducerClient służy do wysyłania zdarzeń do centrum zdarzeń. Użyj parmetru options, aby skonfigurować zasady ponawiania prób lub ustawienia serwera proxy.

Właściwości

eventHubName

Nazwa wystąpienia centrum zdarzeń, dla którego jest tworzony ten klient.

fullyQualifiedNamespace

W pełni kwalifikowana przestrzeń nazw wystąpienia centrum zdarzeń, dla którego jest tworzony ten klient. Prawdopodobnie będzie to podobne do .servicebus.windows.net.

identifier

Nazwa używana do identyfikowania tego elementu EventHubBufferedProducerClient. Jeśli nie zostanie określony lub pusty, zostanie wygenerowany losowy unikatowy.

Metody

close(BufferedCloseOptions)

Zamyka połączenie AMQP z wystąpieniem centrum zdarzeń, zwracając obietnicę, która zostanie rozwiązana po zakończeniu rozłączenia.

Spowoduje to oczekiwanie na opróżnienie zdarzeń w kolejce do usługi przed zamknięciem połączenia. Aby zamknąć bez opróżniania, ustaw opcję flush na false.

enqueueEvent(EventData | AmqpAnnotatedMessage, EnqueueEventOptions)

Umieszcza zdarzenie w kolejce do buforu, który ma zostać opublikowany w centrum zdarzeń. Jeśli podczas wywoływanej metody nie ma pojemności w buforze, poczeka ona na udostępnienie miejsca i upewnienie się, że zdarzenie zostało w kolejce.

Gdy to wywołanie zwróci, zdarzenie zostało zaakceptowane w buforze, ale mogło jeszcze nie zostać opublikowane. Publikowanie będzie odbywać się w niedeterministycznym punkcie w przyszłości w miarę przetwarzania buforu.

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

Kolejkuje zdarzenia do buforu, który ma zostać opublikowany w centrum zdarzeń. Jeśli podczas wywoływanej metody nie ma pojemności w buforze, poczeka na udostępnienie miejsca i upewnij się, że zdarzenia zostały umieszczone w kolejce.

Gdy to wywołanie zwróci, zdarzenia zostały zaakceptowane w buforze, ale mogły nie zostać jeszcze opublikowane. Publikowanie będzie odbywać się w niedeterministycznym punkcie w przyszłości w miarę przetwarzania buforu.

flush(BufferedFlushOptions)

Próbuje natychmiast opublikować wszystkie zdarzenia w buforze. Może to spowodować opublikowanie wielu partii, z których wynik zostanie indywidualnie zgłoszony przez programy obsługi onSendEventsSuccessHandler i onSendEventsErrorHandler.

getEventHubProperties(GetEventHubPropertiesOptions)

Udostępnia informacje o środowisku uruchomieniowym centrum zdarzeń.

getPartitionIds(GetPartitionIdsOptions)

Zawiera identyfikator każdej partycji skojarzonej z centrum zdarzeń.

getPartitionProperties(string, GetPartitionPropertiesOptions)

Zawiera informacje o stanie określonej partycji.

Szczegóły konstruktora

EventHubBufferedProducerClient(string, EventHubBufferedProducerClientOptions)

Klasa EventHubBufferedProducerClient służy do wysyłania zdarzeń do centrum zdarzeń. Użyj parmetru options, aby skonfigurować zasady ponawiania prób lub ustawienia serwera proxy.

new EventHubBufferedProducerClient(connectionString: string, options: EventHubBufferedProducerClientOptions)

Parametry

connectionString

string

Parametry połączenia używane do nawiązywania połączenia z wystąpieniem centrum zdarzeń. Oczekuje się, że właściwości klucza współużytkowanego i ścieżka centrum zdarzeń są zawarte w tych parametrach połączenia. np. "Endpoint=sb://my-servicebus-namespace.servicebus.windows.net/; SharedAccessKeyName=my-SA-name; SharedAccessKey=my-SA-key; EntityPath=my-event-hub-name'.

options
EventHubBufferedProducerClientOptions

Zestaw opcji do zastosowania podczas konfigurowania klienta.

  • retryOptions: konfiguruje zasady ponawiania dla wszystkich operacji na kliencie. Na przykład { "maxRetries": 4 } lub { "maxRetries": 4, "retryDelayInMs": 30000 }.
  • webSocketOptions: konfiguruje kanał połączenia AMQP za pośrednictwem gniazd sieci Web.
  • userAgent: ciąg dołączany do wbudowanego ciągu agenta użytkownika, który jest przekazywany do usługi.

EventHubBufferedProducerClient(string, string, EventHubBufferedProducerClientOptions)

Klasa EventHubBufferedProducerClient służy do wysyłania zdarzeń do centrum zdarzeń. Użyj parmetru options, aby skonfigurować zasady ponawiania prób lub ustawienia serwera proxy.

new EventHubBufferedProducerClient(connectionString: string, eventHubName: string, options: EventHubBufferedProducerClientOptions)

Parametry

connectionString

string

Parametry połączenia używane do nawiązywania połączenia z przestrzenią nazw usługi Event Hubs. Oczekuje się, że właściwości klucza współużytkowanego znajdują się w tych parametrach połączenia, ale nie w ścieżce centrum zdarzeń, np. "Endpoint=sb://my-servicebus-namespace.servicebus.windows.net/; SharedAccessKeyName=my-SA-name; SharedAccessKey=my-SA-key;'.

eventHubName

string

Nazwa określonego centrum zdarzeń do nawiązania połączenia z klientem.

options
EventHubBufferedProducerClientOptions

Zestaw opcji do zastosowania podczas konfigurowania klienta.

  • retryOptions: konfiguruje zasady ponawiania dla wszystkich operacji na kliencie. Na przykład { "maxRetries": 4 } lub { "maxRetries": 4, "retryDelayInMs": 30000 }.
  • webSocketOptions: konfiguruje kanał połączenia AMQP za pośrednictwem gniazd sieci Web.
  • userAgent: ciąg dołączany do wbudowanego ciągu agenta użytkownika, który jest przekazywany do usługi.

EventHubBufferedProducerClient(string, string, TokenCredential | NamedKeyCredential | SASCredential, EventHubBufferedProducerClientOptions)

Klasa EventHubBufferedProducerClient służy do wysyłania zdarzeń do centrum zdarzeń. Użyj parmetru options, aby skonfigurować zasady ponawiania prób lub ustawienia serwera proxy.

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

Parametry

fullyQualifiedNamespace

string

Pełna przestrzeń nazw, która prawdopodobnie będzie podobna do .servicebus.windows.net

eventHubName

string

Nazwa określonego centrum zdarzeń do nawiązania połączenia z klientem.

credential

TokenCredential | NamedKeyCredential | SASCredential

Obiekt poświadczeń używany przez klienta do uzyskiwania tokenu w celu uwierzytelnienia połączenia z usługą Azure Event Hubs. Zobacz @azure/tożsamość, aby utworzyć poświadczenia obsługujące uwierzytelnianie usługi AAD. Użyj AzureNamedKeyCredential z uwierzytelniania @azure/core-auth, jeśli chcesz przekazać SharedAccessKeyName i SharedAccessKey bez użycia parametrów połączenia. Te pola są mapowanie odpowiednio na pola name i key w AzureNamedKeyCredential. Użyj AzureSASCredential z @azure/core-auth, jeśli chcesz przekazać SharedAccessSignature bez używania parametrów połączenia. To pole mapuje signature w AzureSASCredential.

options
EventHubBufferedProducerClientOptions

Zestaw opcji do zastosowania podczas konfigurowania klienta.

  • retryOptions: konfiguruje zasady ponawiania dla wszystkich operacji na kliencie. Na przykład { "maxRetries": 4 } lub { "maxRetries": 4, "retryDelayInMs": 30000 }.
  • webSocketOptions: konfiguruje kanał połączenia AMQP za pośrednictwem gniazd sieci Web.
  • userAgent: ciąg dołączany do wbudowanego ciągu agenta użytkownika, który jest przekazywany do usługi.

Szczegóły właściwości

eventHubName

Nazwa wystąpienia centrum zdarzeń, dla którego jest tworzony ten klient.

string eventHubName

Wartość właściwości

string

fullyQualifiedNamespace

W pełni kwalifikowana przestrzeń nazw wystąpienia centrum zdarzeń, dla którego jest tworzony ten klient. Prawdopodobnie będzie to podobne do .servicebus.windows.net.

string fullyQualifiedNamespace

Wartość właściwości

string

identifier

Nazwa używana do identyfikowania tego elementu EventHubBufferedProducerClient. Jeśli nie zostanie określony lub pusty, zostanie wygenerowany losowy unikatowy.

identifier: string

Wartość właściwości

string

Szczegóły metody

close(BufferedCloseOptions)

Zamyka połączenie AMQP z wystąpieniem centrum zdarzeń, zwracając obietnicę, która zostanie rozwiązana po zakończeniu rozłączenia.

Spowoduje to oczekiwanie na opróżnienie zdarzeń w kolejce do usługi przed zamknięciem połączenia. Aby zamknąć bez opróżniania, ustaw opcję flush na false.

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

Parametry

options
BufferedCloseOptions

Zestaw opcji, które mają być stosowane do wywołania operacji.

Zwraca

Promise<void>

Obietnica

enqueueEvent(EventData | AmqpAnnotatedMessage, EnqueueEventOptions)

Umieszcza zdarzenie w kolejce do buforu, który ma zostać opublikowany w centrum zdarzeń. Jeśli podczas wywoływanej metody nie ma pojemności w buforze, poczeka ona na udostępnienie miejsca i upewnienie się, że zdarzenie zostało w kolejce.

Gdy to wywołanie zwróci, zdarzenie zostało zaakceptowane w buforze, ale mogło jeszcze nie zostać opublikowane. Publikowanie będzie odbywać się w niedeterministycznym punkcie w przyszłości w miarę przetwarzania buforu.

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

Parametry

options
EnqueueEventOptions

Zestaw opcji, które można określić, aby wpłynąć na sposób, w jaki zdarzenie jest wysyłane do skojarzonego centrum zdarzeń.

  • abortSignal: sygnał używany do anulowania operacji enqueueEvent.
  • partitionId: partycja, do których zostanie wysłany ten zestaw zdarzeń. W przypadku ustawienia nie można ustawić partitionKey.
  • partitionKey: wartość skrótu w celu utworzenia przypisania partycji. W przypadku ustawienia nie można ustawić partitionId.

Zwraca

Promise<number>

Łączna liczba zdarzeń, które są obecnie buforowane i oczekujące na opublikowanie, we wszystkich partycjach.

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

Kolejkuje zdarzenia do buforu, który ma zostać opublikowany w centrum zdarzeń. Jeśli podczas wywoływanej metody nie ma pojemności w buforze, poczeka na udostępnienie miejsca i upewnij się, że zdarzenia zostały umieszczone w kolejce.

Gdy to wywołanie zwróci, zdarzenia zostały zaakceptowane w buforze, ale mogły nie zostać jeszcze opublikowane. Publikowanie będzie odbywać się w niedeterministycznym punkcie w przyszłości w miarę przetwarzania buforu.

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

Parametry

events

EventData[] | AmqpAnnotatedMessage[]

Tablica EventData lub AmqpAnnotatedMessage.

options
EnqueueEventOptions

Zestaw opcji, które można określić, aby wpłynąć na sposób, w jaki zdarzenia są wysyłane do skojarzonego centrum zdarzeń.

  • abortSignal: sygnał używany do anulowania operacji enqueueEvents.
  • partitionId: partycja, do których zostanie wysłany ten zestaw zdarzeń. W przypadku ustawienia nie można ustawić partitionKey.
  • partitionKey: wartość skrótu w celu utworzenia przypisania partycji. W przypadku ustawienia nie można ustawić partitionId.

Zwraca

Promise<number>

Łączna liczba zdarzeń, które są obecnie buforowane i oczekujące na opublikowanie, we wszystkich partycjach.

flush(BufferedFlushOptions)

Próbuje natychmiast opublikować wszystkie zdarzenia w buforze. Może to spowodować opublikowanie wielu partii, z których wynik zostanie indywidualnie zgłoszony przez programy obsługi onSendEventsSuccessHandler i onSendEventsErrorHandler.

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

Parametry

options
BufferedFlushOptions

Zestaw opcji, które mają być stosowane do wywołania operacji.

Zwraca

Promise<void>

getEventHubProperties(GetEventHubPropertiesOptions)

Udostępnia informacje o środowisku uruchomieniowym centrum zdarzeń.

function getEventHubProperties(options?: GetEventHubPropertiesOptions): Promise<EventHubProperties>

Parametry

options
GetEventHubPropertiesOptions

Zestaw opcji, które mają być stosowane do wywołania operacji.

Zwraca

Obietnica, która rozwiązuje problem z informacjami o wystąpieniu centrum zdarzeń.

getPartitionIds(GetPartitionIdsOptions)

Zawiera identyfikator każdej partycji skojarzonej z centrum zdarzeń.

function getPartitionIds(options?: GetPartitionIdsOptions): Promise<string[]>

Parametry

options
GetPartitionIdsOptions

Zestaw opcji, które mają być stosowane do wywołania operacji.

Zwraca

Promise<string[]>

Obietnica rozpoznawana za pomocą tablicy ciągów reprezentujących identyfikator każdej partycji skojarzonej z centrum zdarzeń.

getPartitionProperties(string, GetPartitionPropertiesOptions)

Zawiera informacje o stanie określonej partycji.

function getPartitionProperties(partitionId: string, options?: GetPartitionPropertiesOptions): Promise<PartitionProperties>

Parametry

partitionId

string

Identyfikator partycji, dla której są wymagane informacje.

options
GetPartitionPropertiesOptions

Zestaw opcji, które mają być stosowane do wywołania operacji.

Zwraca

Obietnica, która rozwiązuje problem z informacjami o stanie partycji .