EventHubBufferedProducerClient class
Slouží EventHubBufferedProducerClient
k 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 aonSendEventsErrorHandler
. - 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
Event |
Třída se |
Event |
Třída se |
Event |
Třída se |
Vlastnosti
event |
Název instance centra událostí, pro kterou je tento klient vytvořen. |
fully |
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(Buffered |
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 |
enqueue |
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. |
enqueue |
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(Buffered |
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 |
get |
Poskytuje informace o modulu runtime centra událostí. |
get |
Poskytuje ID pro každý oddíl přidružený k centru událostí. |
get |
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'.
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.
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
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 SharedAccessKeyName
SharedAccessKey
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 AzureNamedKeyCredential
uvedené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 AzureSASCredential
souboru .
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
- event
- 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
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
Promise<EventHubProperties>
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
Promise<PartitionProperties>
Slib, který se vyřeší s informacemi o stavu oddílu .