Udostępnij za pośrednictwem


EventHubBufferedProducerClient class

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

Element 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 związane z zarządzaniem wsadowym od wywołujących, kosztem czasu niedeterministycznego, w przypadku, gdy zdarzenia zostaną opublikowane. 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, zachęcamy osoby wywołujące do śledzenia postępu publikowania przy użyciu programów onSendEventsSuccessHandler obsługi i .onSendEventsErrorHandler
  • Zdarzenia określające klucz partycji mogą mieć przypisaną inną partycję niż te, które używają tego samego klucza z innymi producentami.
  • W mało prawdopodobnym przypadku, gdy partycja stanie się tymczasowo niedostępna, EventHubBufferedProducerClient odzyskiwanie 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 spójnej z innymi wydawcami lub gdy maksymalizacja dostępności jest wymagana, użycie elementu EventHubProducerClient jest zalecane.

Konstruktory

EventHubBufferedProducerClient(string, EventHubBufferedProducerClientOptions)

Klasa EventHubBufferedProducerClient służy do wysyłania zdarzeń do centrum zdarzeń. Użyj parametru 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 parametru 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 parametru 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 flush opcję 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, zaczeka na udostępnienie miejsca i upewnienie się, że zdarzenie zostało w kolejce.

Po powrocie tego wywołania zdarzenie zostało zaakceptowane w buforze, ale mogło jeszcze nie zostać opublikowane. Publikowanie będzie odbywać się w nieokreślonym punkcie w przyszłości podczas przetwarzania buforu.

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

Umieszcza zdarzenia 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 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 nieokreślonym punkcie w przyszłości podczas przetwarzania buforu.

flush(BufferedFlushOptions)

Próbuje natychmiast opublikować wszystkie zdarzenia w buforze. Może to spowodować opublikowanie wielu partii. Wynik każdego z nich będzie zgłaszany indywidualnie przez onSendEventsSuccessHandler programy obsługi 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 parametru 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ń znajdują się 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 channelling połączenia AMQP za pośrednictwem web sockets.
  • 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 parametru 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. Oczekiwano, ż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 połączenia klienta.

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 channelling połączenia AMQP za pośrednictwem web sockets.
  • 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 parametru 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 połączenia klienta.

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 polecenia AzureNamedKeyCredential from @azure/core-auth, jeśli chcesz przekazać SharedAccessKeyNameSharedAccessKey parametry połączenia i bez użycia parametrów połączenia. Te pola są mapowanie odpowiednio na name pola i key w elemecie AzureNamedKeyCredential. Użyj polecenia AzureSASCredential from @azure/core-auth, jeśli chcesz przekazać SharedAccessSignature element bez użycia parametrów połączenia. To pole jest mapowe na signature w pliku 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 channelling połączenia AMQP za pośrednictwem web sockets.
  • 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 flush opcję na false.

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

Parametry

options
BufferedCloseOptions

Zestaw opcji do zastosowania 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, zaczeka na udostępnienie miejsca i upewnienie się, że zdarzenie zostało w kolejce.

Po powrocie tego wywołania zdarzenie zostało zaakceptowane w buforze, ale mogło jeszcze nie zostać opublikowane. Publikowanie będzie odbywać się w nieokreślonym punkcie w przyszłości podczas przetwarzania buforu.

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

Parametry

options
EnqueueEventOptions

Zestaw opcji, które można określić, aby wpływać 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 partitionKey nie można ustawić.
  • partitionKey : wartość skrótu w celu utworzenia przypisania partycji. W przypadku ustawienia partitionId nie można ustawić.

Zwraca

Promise<number>

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

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

Umieszcza zdarzenia 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 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 nieokreślonym punkcie w przyszłości podczas 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ływać 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 partitionKey nie można ustawić.
  • partitionKey : wartość skrótu w celu utworzenia przypisania partycji. W przypadku ustawienia partitionId nie można ustawić.

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. Wynik każdego z nich będzie zgłaszany indywidualnie przez onSendEventsSuccessHandler programy obsługi i .onSendEventsErrorHandler

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

Parametry

options
BufferedFlushOptions

Zestaw opcji do zastosowania 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 do zastosowania 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 do zastosowania do wywołania operacji.

Zwraca

Promise<string[]>

Obietnica, która jest rozpoznawana za pomocą tablicy ciągów reprezentujących identyfikator dla 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 do zastosowania do wywołania operacji.

Zwraca

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