Sdílet prostřednictvím


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

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.

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.

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.

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. 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í.

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);
   }
  }
}
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.

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);
   }
  }
}
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);

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

TokenCredential | NamedKeyCredential | SASCredential

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. Funkce tryAdd 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

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

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

EventData[] | AmqpAnnotatedMessage[]

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