Sdílet prostřednictvím


EventHubBufferedProducerClient class

Slouží EventHubBufferedProducerClientk publikování událostí do konkrétního centra událostí.

Nepublikuje EventHubBufferedProducerClient události okamžitě. Místo toho se události ukládají do vyrovnávací paměti, aby je bylo možné efektivně dávkově zabalit a publikovat, když je dávka plná nebo maxWaitTimeInMs uplynula bez nových událostí.

V závislosti na možnostech zadaných při zařazení událostí do fronty mohou být automaticky přiřazeny k oddílu, seskupené podle zadaného klíče oddílu nebo přiřazené konkrétně požadovanému oddílu.

Cílem tohoto modelu je přesunout zatížení správy dávek od volajících za cenu ne deterministického načasování, kdy budou události publikovány. Je potřeba zvážit i další kompromisy:

  • Pokud dojde k chybovému ukončení aplikace, události ve vyrovnávací paměti nebudou publikovány. Aby se zabránilo ztrátě dat, doporučujeme volajícím sledovat průběh publikování pomocí onSendEventsSuccessHandler obslužných rutin a onSendEventsErrorHandler .
  • Události určující klíč oddílu mohou mít přiřazený jiný oddíl než ty, které používají stejný klíč s jinými producenty.
  • V nepravděpodobném případě, že se oddíl stane dočasně nedostupným, EventHubBufferedProducerClient může obnovení trvat déle než ostatní producenti.

Ve scénářích, ve kterých je důležité, aby se události publikovaly okamžitě s deterministickým výsledkem, se ujistěte, že jsou klíče oddílů přiřazené k oddílu konzistentnímu s jinými vydavateli nebo kde je požadavkem maximalizace dostupnosti, použijte EventHubProducerClient příkaz .

Konstruktory

EventHubBufferedProducerClient(string, EventHubBufferedProducerClientOptions)

Třída se EventHubBufferedProducerClient používá k odesílání událostí do centra událostí. Pomocí parmetru options nakonfigurujte zásady opakování nebo nastavení proxy serveru.

EventHubBufferedProducerClient(string, string, EventHubBufferedProducerClientOptions)

Třída se EventHubBufferedProducerClient používá k odesílání událostí do centra událostí. Pomocí parmetru options nakonfigurujte zásady opakování nebo nastavení proxy serveru.

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

Třída se EventHubBufferedProducerClient používá k odesílání událostí do centra událostí. Pomocí parmetru options nakonfigurujte zásady opakování nebo nastavení proxy serveru.

Vlastnosti

eventHubName

Název instance centra událostí, pro kterou je tento klient vytvořen.

fullyQualifiedNamespace

Plně kvalifikovaný obor názvů instance centra událostí, pro kterou je tento klient vytvořen. Je pravděpodobné, že se bude podobat .servicebus.windows.net.

identifier

Název použitý k identifikaci tohoto EventHubBufferedProducerClient. Pokud není zadán nebo prázdný, vygeneruje se náhodný jedinečný.

Metody

close(BufferedCloseOptions)

Ukončí připojení AMQP k instanci centra událostí a vrátí příslib, který se vyřeší po dokončení odpojení.

Tím se počká na vyprázdnění událostí zařazení do fronty do služby před ukončením připojení. Pokud chcete zavřít bez vyprázdnění, nastavte flush možnost na false.

enqueueEvent(EventData | AmqpAnnotatedMessage, EnqueueEventOptions)

Vytvoří událost do vyrovnávací paměti, která se má publikovat do centra událostí. Pokud při vyvolání této metody není ve vyrovnávací paměti žádná kapacita, počká, až bude místo k dispozici, a zajistí, že událost byla zapsána do fronty.

Když se toto volání vrátí, událost byla přijata do vyrovnávací paměti, ale možná ještě nebyla publikována. Publikování bude probíhat v nedeterministickém bodě v budoucnu, jakmile se bude vyrovnávací paměť zpracovávat.

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

Začte události do vyrovnávací paměti, které se mají publikovat do centra událostí. Pokud při vyvolání této metody není ve vyrovnávací paměti žádná kapacita, bude čekat, až bude místo k dispozici, a zajistí, že události byly zapsány do fronty.

Když se toto volání vrátí, události byly přijaty do vyrovnávací paměti, ale možná ještě nebyly publikovány. Publikování bude probíhat v nedeterministickém bodě v budoucnu, jakmile se bude vyrovnávací paměť zpracovávat.

flush(BufferedFlushOptions)

Pokusí se okamžitě publikovat všechny události ve vyrovnávací paměti. To může mít za následek publikování více dávek, jejichž výsledek bude zvlášť hlášen obslužnými onSendEventsSuccessHandler rutinami a onSendEventsErrorHandler .

getEventHubProperties(GetEventHubPropertiesOptions)

Poskytuje informace o modulu runtime centra událostí.

getPartitionIds(GetPartitionIdsOptions)

Poskytuje ID pro každý oddíl přidružený k centru událostí.

getPartitionProperties(string, GetPartitionPropertiesOptions)

Poskytuje informace o stavu zadaného oddílu.

Podrobnosti konstruktoru

EventHubBufferedProducerClient(string, EventHubBufferedProducerClientOptions)

Třída se EventHubBufferedProducerClient používá k odesílání událostí do centra událostí. Pomocí parmetru options nakonfigurujte zásady opakování nebo nastavení proxy serveru.

new EventHubBufferedProducerClient(connectionString: string, options: EventHubBufferedProducerClientOptions)

Parametry

connectionString

string

Připojovací řetězec, který se má použít pro připojení k instanci centra událostí. Očekává se, že tento připojovací řetězec obsahuje vlastnosti sdíleného klíče a cestu k centru událostí. např. 'Endpoint=sb://my-servicebus-namespace.servicebus.windows.net/;SharedAccessKeyName=my-SA-name; SharedAccessKey=my-SA-key; EntityPath=my-event-hub-name'.

options
EventHubBufferedProducerClientOptions

Sada možností, které se mají použít při konfiguraci klienta.

  • retryOptions : Nakonfiguruje zásadu opakování pro všechny operace v klientovi. Příkladem je { "maxRetries": 4 } nebo { "maxRetries": 4, "retryDelayInMs": 30000 }.
  • webSocketOptions: Konfiguruje channeling připojení AMQP přes webové sokety.
  • userAgent : Řetězec, který se má připojit k integrovanému řetězci uživatelského agenta, který je předán službě.

EventHubBufferedProducerClient(string, string, EventHubBufferedProducerClientOptions)

Třída se EventHubBufferedProducerClient používá k odesílání událostí do centra událostí. Pomocí parmetru options nakonfigurujte zásady opakování nebo nastavení proxy serveru.

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

Parametry

connectionString

string

Připojovací řetězec, který se má použít pro připojení k oboru názvů služby Event Hubs. Očekává se, že vlastnosti sdíleného klíče jsou obsaženy v tomto připojovacím řetězci, ale ne v cestě k centru událostí, například Endpoint=sb://my-servicebus-namespace.servicebus.windows.net/;SharedAccessKeyName=my-SA-name; SharedAccessKey=my-SA-key;'.

eventHubName

string

Název konkrétního centra událostí, ke kterému se má klient připojit.

options
EventHubBufferedProducerClientOptions

Sada možností, které se mají použít při konfiguraci klienta.

  • retryOptions : Nakonfiguruje zásadu opakování pro všechny operace v klientovi. Příkladem je { "maxRetries": 4 } nebo { "maxRetries": 4, "retryDelayInMs": 30000 }.
  • webSocketOptions: Konfiguruje channeling připojení AMQP přes webové sokety.
  • userAgent : Řetězec, který se má připojit k integrovanému řetězci uživatelského agenta, který je předán službě.

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

Třída se EventHubBufferedProducerClient používá k odesílání událostí do centra událostí. Pomocí parmetru options nakonfigurujte zásady opakování nebo nastavení proxy serveru.

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

Parametry

fullyQualifiedNamespace

string

Úplný obor názvů, který se bude pravděpodobně podobat .servicebus.windows.net

eventHubName

string

Název konkrétního centra událostí, ke kterému se má klient připojit.

credential

TokenCredential | NamedKeyCredential | SASCredential

Objekt přihlašovacích údajů, který klient používá k získání tokenu pro ověření připojení ke službě Azure Event Hubs. Informace o vytváření přihlašovacích údajů, které podporují ověřování AAD, najdete v tématu @azure/identity. AzureNamedKeyCredential Pokud chcete předat SharedAccessKeyNameSharedAccessKey a bez použití připojovacího řetězce, použijte příkaz from @azure/core-auth. Tato pole se mapují na name pole a key v AzureNamedKeyCredentialuvedeném pořadí . AzureSASCredential Pokud chcete předat SharedAccessSignature soubor bez použití připojovacího řetězce, použijte @azure/core-auth. Toto pole se mapuje na signature v AzureSASCredentialsouboru .

options
EventHubBufferedProducerClientOptions

Sada možností, které se mají použít při konfiguraci klienta.

  • retryOptions : Nakonfiguruje zásadu opakování pro všechny operace v klientovi. Příkladem je { "maxRetries": 4 } nebo { "maxRetries": 4, "retryDelayInMs": 30000 }.
  • webSocketOptions: Konfiguruje channeling připojení AMQP přes webové sokety.
  • userAgent : Řetězec, který se má připojit k integrovanému řetězci uživatelského agenta, který je předán službě.

Podrobnosti vlastnosti

eventHubName

Název instance centra událostí, pro kterou je tento klient vytvořen.

string eventHubName

Hodnota vlastnosti

string

fullyQualifiedNamespace

Plně kvalifikovaný obor názvů instance centra událostí, pro kterou je tento klient vytvořen. Je pravděpodobné, že se bude podobat .servicebus.windows.net.

string fullyQualifiedNamespace

Hodnota vlastnosti

string

identifier

Název použitý k identifikaci tohoto EventHubBufferedProducerClient. Pokud není zadán nebo prázdný, vygeneruje se náhodný jedinečný.

identifier: string

Hodnota vlastnosti

string

Podrobnosti metody

close(BufferedCloseOptions)

Ukončí připojení AMQP k instanci centra událostí a vrátí příslib, který se vyřeší po dokončení odpojení.

Tím se počká na vyprázdnění událostí zařazení do fronty do služby před ukončením připojení. Pokud chcete zavřít bez vyprázdnění, nastavte flush možnost na false.

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

Parametry

options
BufferedCloseOptions

Sada možností, které se mají použít pro volání operace.

Návraty

Promise<void>

Slib

enqueueEvent(EventData | AmqpAnnotatedMessage, EnqueueEventOptions)

Vytvoří událost do vyrovnávací paměti, která se má publikovat do centra událostí. Pokud při vyvolání této metody není ve vyrovnávací paměti žádná kapacita, počká, až bude místo k dispozici, a zajistí, že událost byla zapsána do fronty.

Když se toto volání vrátí, událost byla přijata do vyrovnávací paměti, ale možná ještě nebyla publikována. Publikování bude probíhat v nedeterministickém bodě v budoucnu, jakmile se bude vyrovnávací paměť zpracovávat.

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

Parametry

options
EnqueueEventOptions

Sada možností, které lze zadat, aby ovlivnily způsob, jakým se událost odesílá do přidruženého centra událostí.

  • abortSignal : Signál použitý ke zrušení operace enqueueEvent.
  • partitionId : Oddíl, do který se tato sada událostí odešle. Pokud je nastaveno, partitionKey nelze nastavit.
  • partitionKey : Hodnota, která má hodnotu hash za účelem vytvoření přiřazení oddílu. Pokud je nastaveno, partitionId nelze nastavit.

Návraty

Promise<number>

Celkový počet událostí, které jsou aktuálně ve vyrovnávací paměti a čekají na publikování, napříč všemi oddíly.

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

Začte události do vyrovnávací paměti, které se mají publikovat do centra událostí. Pokud při vyvolání této metody není ve vyrovnávací paměti žádná kapacita, bude čekat, až bude místo k dispozici, a zajistí, že události byly zapsány do fronty.

Když se toto volání vrátí, události byly přijaty do vyrovnávací paměti, ale možná ještě nebyly publikovány. Publikování bude probíhat v nedeterministickém bodě v budoucnu, jakmile se bude vyrovnávací paměť zpracovávat.

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

Parametry

events

EventData[] | AmqpAnnotatedMessage[]

Pole EventData nebo AmqpAnnotatedMessage.

options
EnqueueEventOptions

Sada možností, které je možné zadat, aby ovlivnily způsob, jakým se události odesílají do přidruženého centra událostí.

  • abortSignal : Signál používaný ke zrušení operace enqueueEvents.
  • partitionId : Oddíl, do který se tato sada událostí odešle. Pokud je nastaveno, partitionKey nelze nastavit.
  • partitionKey : Hodnota, která má hodnotu hash za účelem vytvoření přiřazení oddílu. Pokud je nastaveno, partitionId nelze nastavit.

Návraty

Promise<number>

Celkový počet událostí, které jsou aktuálně ve vyrovnávací paměti a čekají na publikování, napříč všemi oddíly.

flush(BufferedFlushOptions)

Pokusí se okamžitě publikovat všechny události ve vyrovnávací paměti. To může mít za následek publikování více dávek, jejichž výsledek bude zvlášť hlášen obslužnými onSendEventsSuccessHandler rutinami a onSendEventsErrorHandler .

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

Parametry

options
BufferedFlushOptions

Sada možností, které se mají použít pro volání operace.

Návraty

Promise<void>

getEventHubProperties(GetEventHubPropertiesOptions)

Poskytuje informace o modulu runtime centra událostí.

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

Parametry

options
GetEventHubPropertiesOptions

Sada možností, které se mají použít pro volání operace.

Návraty

Příslib, který řeší informace o instanci centra událostí.

getPartitionIds(GetPartitionIdsOptions)

Poskytuje ID pro každý oddíl přidružený k centru událostí.

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

Parametry

options
GetPartitionIdsOptions

Sada možností, které se mají použít pro volání operace.

Návraty

Promise<string[]>

Příslib, který se vyřeší s polem řetězců představujícím ID pro každý oddíl přidružený k centru událostí.

getPartitionProperties(string, GetPartitionPropertiesOptions)

Poskytuje informace o stavu zadaného oddílu.

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

Parametry

partitionId

string

ID oddílu, pro který jsou požadovány informace.

options
GetPartitionPropertiesOptions

Sada možností, které se mají použít pro volání operace.

Návraty

Slib, který se vyřeší s informacemi o stavu oddílu .