EventHubBufferedProducerClient class
EventHubBufferedProducerClient
sł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
ionSendEventsErrorHandler
. - 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
Event |
Klasa |
Event |
Klasa |
Event |
Klasa |
Właściwości
event |
Nazwa wystąpienia centrum zdarzeń, dla którego jest tworzony ten klient. |
fully |
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(Buffered |
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ę |
enqueue |
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. |
enqueue |
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(Buffered |
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 |
get |
Udostępnia informacje o środowisku uruchomieniowym centrum zdarzeń. |
get |
Zawiera identyfikator każdej partycji skojarzonej z centrum zdarzeń. |
get |
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'.
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.
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
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
.
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
- event
- 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
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
Promise<EventHubProperties>
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
Promise<PartitionProperties>
Obietnica, która rozwiązuje problem z informacjami o stanie partycji .