EventHubProducerClient class
Třída EventHubProducerClient
slouží 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ásad SAS vytvořených pro vaši instanci centra událostí.
- Použijte připojovací řetězec ze zásad SAS vytvořených pro 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 tašku možností pro konfiguraci zásad opakování nebo nastavení proxy serveru.
Konstruktory
Event |
Třída |
Event |
Třída |
Event |
Třída |
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 to bude podobat .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() | Zavře připojení AMQP k instanci centra událostí a vrátí příslib, který se vyřeší při 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 dávkovou správu zjednodušit napříč oddíly nebo nechat klienta automaticky dávkovat události a odesílat je v konkrétních intervalech, použijte místo toho Následující příklad předpokládá, že máte pole událostí, které se mají bezpečně dávkot.
Pokud máte události přicházející o jednu po druhé, doporučujeme místo toho 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í Události s různými hodnotami partitionKey nebo partitionId je potřeba vložit do různých dávek.
Pokud chcete tuto dávkovou správu zjednodušit napříč oddíly nebo nechat klienta automaticky dávkovat události a odesílat je v konkrétních intervalech, použijte místo toho Následující příklad předpokládá, že máte pole událostí, které se mají bezpečně dávkot.
Pokud máte události přicházející o jednu po druhé, doporučujeme místo toho 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á omezení 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 EventHubProducerClient
slouží k odesílání událostí do centra událostí.
Ke konfiguraci zásad opakování nebo nastavení proxy serveru použijte parmetr options
.
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 vlastnosti sdíleného klíče a cesta centra událostí jsou obsaženy v tomto připojovacím řetězci. například 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. Například{ "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 předdefinovanému řetězci agenta uživatele, který se předá službě.
EventHubProducerClient(string, string, EventHubClientOptions)
Třída EventHubProducerClient
slouží k odesílání událostí do centra událostí.
Ke konfiguraci zásad opakování nebo nastavení proxy serveru použijte parmetr options
.
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ě centra 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í pro připojení klienta.
- 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. Například{ "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 předdefinovanému řetězci agenta uživatele, který se předá službě.
EventHubProducerClient(string, string, TokenCredential | NamedKeyCredential | SASCredential, EventHubClientOptions)
Třída EventHubProducerClient
slouží k odesílání událostí do centra událostí.
Ke konfiguraci zásad opakování nebo nastavení proxy serveru použijte parmetr options
.
new EventHubProducerClient(fullyQualifiedNamespace: string, eventHubName: string, credential: TokenCredential | NamedKeyCredential | SASCredential, options?: EventHubClientOptions)
Parametry
- fullyQualifiedNamespace
-
string
Úplný obor názvů, který bude pravděpodobně podobný .servicebus.windows.net
- eventHubName
-
string
Název konkrétního centra událostí pro připojení klienta.
- 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/identita. Pokud chcete předat SharedAccessKeyName
a SharedAccessKey
bez použití připojovacího řetězce, použijte AzureNamedKeyCredential
z ověřování @azure/core-auth. Tato pole se mapují na pole name
a key
v AzureNamedKeyCredential
.
Pokud chcete předat SharedAccessSignature
bez použití připojovacího řetězce, použijte AzureSASCredential
z ověřování @azure/core-auth. Toto pole se mapuje na signature
v AzureSASCredential
.
- 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. Například{ "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 předdefinovanému řetězci agenta uživatele, 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 to bude podobat .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()
Zavře připojení AMQP k instanci centra událostí a vrátí příslib, který se vyřeší při dokončení odpojení.
function close(): Promise<void>
Návraty
Promise<void>
Slib
createBatch(CreateBatchOptions)
Vytvoří instanci EventDataBatch
, do které lze přidat události, dokud nedosáhnete maximální podporované velikosti.
Dávku je možné předat do metody sendBatchEventHubProducerClient
, která se má odeslat do služby 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 dávkovou správu zjednodušit napříč oddíly nebo nechat klienta automaticky dávkovat události a odesílat je v konkrétních intervalech, použijte místo toho EventHubBufferedProducerClient
.
Následující příklad předpokládá, že máte pole událostí, které se mají bezpečně dávkot.
Pokud máte události přicházející o jednu po druhé, doporučujeme místo toho EventHubBufferedProducerClient
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 události musí odesílat. -
partitionId
: ID oddílu, do kterého se musí odesílat dávka událostí. -
maxSizeInBytes
: Horní limit velikosti dávky. FunkcetryAdd
vrátífalse
po dosažení tohoto limitu. -
abortSignal
: Signál žádosti o 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ý ř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 přeloží 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ý se vyžadují informace.
- options
- GetPartitionPropertiesOptions
Sada možností, které se mají použít pro volání operace.
Návraty
Promise<PartitionProperties>
Slib, který vyřeší informace o stavu oddílu .
sendBatch(EventDataBatch, OperationOptions)
Odešle dávku událostí vytvořených pomocí 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 dávkovou správu zjednodušit napříč oddíly nebo nechat klienta automaticky dávkovat události a odesílat je v konkrétních intervalech, použijte místo toho EventHubBufferedProducerClient
.
Následující příklad předpokládá, že máte pole událostí, které se mají bezpečně dávkot.
Pokud máte události přicházející o jednu po druhé, doporučujeme místo toho EventHubBufferedProducerClient
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í, které můžete vytvořit pomocí metody createBatch.
- options
- OperationOptions
Sadu možností, které lze určit tak, aby ovlivnily způsob, jakým se události odesílají do přidruženého centra událostí.
-
abortSignal
: Signál žádosti o 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á omezení 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 limity velikosti dávky, použijte místo toho EventHubProducerClient.createBatch()
nebo EventHubBufferedProducerClient
.
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
Sadu možností, které lze určit tak, aby ovlivnily způsob, jakým se události odesílají do přidruženého centra událostí.
-
abortSignal
: Signál žádosti o zrušení operace odeslání. -
partitionId
: Oddíl, do který se tato dávka odešle. Pokud je nastavená,partitionKey
nelze nastavit. -
partitionKey
: Hodnota hash, která vytvoří přiřazení oddílu. Pokud je nastavená,partitionId
nelze nastavit.
Návraty
Promise<void>
Slib