EventHubProducerClient class
Třída EventHubProducerClient
se používá k odesílání událostí do centra událostí.
Existuje několik způsobů, jak vytvořit EventHubProducerClient
- Použijte připojovací řetězec ze zásady SAS vytvořené pro vaši instanci centra událostí.
- Použijte připojovací řetězec ze zásady SAS vytvořené pro váš obor názvů centra událostí a název instance centra událostí.
- Použijte úplný obor názvů, jako je
<yournamespace>.servicebus.windows.net
, a objekt přihlašovacích údajů.
Volitelně můžete také předat balíček možností pro konfiguraci zásad opakování nebo nastavení proxy serveru.
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. Pravděpodobně se bude podobat souboru .servicebus.windows.net. |
identifier | Název použitý k identifikaci tohoto EventHubProducerClient. Pokud není zadaný nebo prázdný, vygeneruje se náhodný jedinečný. |
Metody
close() | Ukončí připojení AMQP k instanci centra událostí a vrátí příslib, který se vyřeší po dokončení odpojení. |
create |
Vytvoří instanci Události s různými hodnotami partitionKey nebo partitionId je potřeba vložit do různých dávek.
Pokud chcete tuto správu dávek mezi oddíly zjednodušit nebo aby klient automaticky dávkoval události a odesílal je v určitých intervalech, použijte místo toho příkaz Následující příklad předpokládá, že máte k dispozici pole událostí pro bezpečné dávkování.
Pokud události přicházejí po jednom, Příklad použití:
|
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. |
send |
Odešle dávku událostí vytvořených pomocí příkazu Události s různými hodnotami partitionKey nebo partitionId je potřeba vložit do různých dávek.
Pokud chcete tuto správu dávek mezi oddíly zjednodušit nebo aby klient automaticky dávkoval události a odesílal je v určitých intervalech, použijte místo toho příkaz Následující příklad předpokládá, že máte k dispozici pole událostí pro bezpečné dávkování.
Pokud události přicházejí po jednom, Příklad použití:
|
send |
Odešle pole událostí jako dávku do přidruženého centra událostí. Azure Event Hubs má limit velikosti dávky, kterou je možné odeslat, což v případě překročení způsobí chybu s kódem Příklad použití:
|
Podrobnosti konstruktoru
EventHubProducerClient(string, EventHubClientOptions)
Třída se EventHubProducerClient
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 EventHubProducerClient(connectionString: string, options?: EventHubClientOptions)
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
- EventHubClientOptions
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ě.
EventHubProducerClient(string, string, EventHubClientOptions)
Třída se EventHubProducerClient
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 EventHubProducerClient(connectionString: string, eventHubName: string, options?: EventHubClientOptions)
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
- EventHubClientOptions
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ě.
EventHubProducerClient(string, string, TokenCredential | NamedKeyCredential | SASCredential, EventHubClientOptions)
Třída se EventHubProducerClient
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 EventHubProducerClient(fullyQualifiedNamespace: string, eventHubName: string, credential: TokenCredential | NamedKeyCredential | SASCredential, options?: EventHubClientOptions)
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ů používaný klientem 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
a SharedAccessKey
bez použití připojovacího řetězce, použijte @azure/core-auth. Tato pole se mapují na name
pole a key
v AzureNamedKeyCredential
.
AzureSASCredential
Pokud chcete předat SharedAccessSignature
soubor bez použití připojovacího řetězce, použijte příkaz from @azure/core-auth. Toto pole se mapuje na signature
v AzureSASCredential
.
- options
- EventHubClientOptions
Sada možností, které se použijí při konfiguraci klienta.
-
retryOptions
: Nakonfiguruje zásadu opakování pro všechny operace na klientovi. Příkladem je{ "maxRetries": 4 }
nebo{ "maxRetries": 4, "retryDelayInMs": 30000 }
. -
webSocketOptions
: Konfiguruje kanálování připojení AMQP přes webové sokety. -
userAgent
: Řetězec, který se připojí k integrovanému řetězci uživatelského agenta, který se předá 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. Pravděpodobně se bude podobat souboru .servicebus.windows.net.
string fullyQualifiedNamespace
Hodnota vlastnosti
string
identifier
Název použitý k identifikaci tohoto EventHubProducerClient. Pokud není zadaný nebo prázdný, vygeneruje se náhodný jedinečný.
identifier: string
Hodnota vlastnosti
string
Podrobnosti metody
close()
Ukončí připojení AMQP k instanci centra událostí a vrátí příslib, který se vyřeší po dokončení odpojení.
function close(): Promise<void>
Návraty
Promise<void>
Slib
createBatch(CreateBatchOptions)
Vytvoří instanci EventDataBatch
, do které lze přidávat události, dokud není dosaženo maximální podporované velikosti.
Dávku lze předat metodě sendBatch, EventHubProducerClient
která má být odeslána Azure Event Hubs.
Události s různými hodnotami partitionKey nebo partitionId je potřeba vložit do různých dávek.
Pokud chcete tuto správu dávek mezi oddíly zjednodušit nebo aby klient automaticky dávkoval události a odesílal je v určitých intervalech, použijte místo toho příkaz EventHubBufferedProducerClient
.
Následující příklad předpokládá, že máte k dispozici pole událostí pro bezpečné dávkování.
Pokud události přicházejí po jednom, EventHubBufferedProducerClient
doporučuje se místo toho pro efektivní správu dávek.
Příklad použití:
const client = new EventHubProducerClient(connectionString);
let batch = await client.createBatch();
for (let i = 0; i < messages.length; i++) {
if (!batch.tryAdd(messages[i])) {
await client.sendBatch(batch);
batch = await client.createBatch();
if (!batch.tryAdd(messages[i])) {
throw new Error("Message too big to fit")
}
if (i === messages.length - 1) {
await client.sendBatch(batch);
}
}
}
function createBatch(options?: CreateBatchOptions): Promise<EventDataBatch>
Parametry
- options
- CreateBatchOptions
Konfiguruje chování dávky.
-
partitionKey
: Hodnota, která je hashována a používána službou Azure Event Hubs k určení oddílu, do kterého se mají události odeslat. -
partitionId
: ID oddílu, do kterého je potřeba odeslat dávku událostí. -
maxSizeInBytes
: Horní limit pro velikost dávky. FunkcetryAdd
se vrátífalse
po dosažení tohoto limitu. -
abortSignal
: Signál požadavku na zrušení operace.
Návraty
Promise<EventDataBatch>
Slib
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ý se vyřeší s informacemi 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ší pomocí pole řetězců představujících 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ý se vyžadují informace.
- options
- GetPartitionPropertiesOptions
Sada možností, které se mají použít pro volání operace.
Návraty
Promise<PartitionProperties>
Příslib, který se vyřeší s informacemi o stavu oddílu .
sendBatch(EventDataBatch, OperationOptions)
Odešle dávku událostí vytvořených pomocí příkazu EventHubProducerClient.createBatch()
do přidruženého centra událostí.
Události s různými hodnotami partitionKey nebo partitionId je potřeba vložit do různých dávek.
Pokud chcete tuto správu dávek mezi oddíly zjednodušit nebo aby klient automaticky dávkoval události a odesílal je v určitých intervalech, použijte místo toho příkaz EventHubBufferedProducerClient
.
Následující příklad předpokládá, že máte k dispozici pole událostí pro bezpečné dávkování.
Pokud události přicházejí po jednom, EventHubBufferedProducerClient
doporučuje se místo toho pro efektivní správu dávek.
Příklad použití:
const client = new EventHubProducerClient(connectionString);
let batch = await client.createBatch();
for (let i = 0; i < messages.length; i++) {
if (!batch.tryAdd(messages[i])) {
await client.sendBatch(batch);
batch = await client.createBatch();
if (!batch.tryAdd(messages[i])) {
throw new Error("Message too big to fit")
}
if (i === messages.length - 1) {
await client.sendBatch(batch);
}
}
}
function sendBatch(batch: EventDataBatch, options?: OperationOptions): Promise<void>
Parametry
- batch
- EventDataBatch
Dávka událostí, kterou můžete vytvořit pomocí metody createBatch .
- options
- OperationOptions
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 požadavku na zrušení operace odeslání.
Návraty
Promise<void>
Slib
sendBatch(EventData[] | AmqpAnnotatedMessage[], SendBatchOptions)
Odešle pole událostí jako dávku do přidruženého centra událostí.
Azure Event Hubs má limit velikosti dávky, kterou je možné odeslat, což v případě překročení způsobí chybu s kódem MessageTooLargeError
.
Pokud chcete bezpečně odesílat v rámci omezení velikosti dávky, použijte EventHubProducerClient.createBatch()
nebo EventHubBufferedProducerClient
místo toho.
Příklad použití:
const client = new EventHubProducerClient(connectionString);
await client.sendBatch(messages);
function sendBatch(batch: EventData[] | AmqpAnnotatedMessage[], options?: SendBatchOptions): Promise<void>
Parametry
- batch
Pole EventData nebo AmqpAnnotatedMessage
.
- options
- SendBatchOptions
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 požadavku na zrušení operace odeslání. -
partitionId
: Oddíl, do který se tato dávka odešle. Pokud je nastavená,partitionKey
nelze ji nastavit. -
partitionKey
: Hodnota, která má hodnotu hash vytvořit přiřazení oddílu. Pokud je nastavená,partitionId
nelze ji nastavit.
Návraty
Promise<void>
Slib