Sdílet prostřednictvím


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

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.

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.

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.

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

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

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

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

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

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

EventData[] | AmqpAnnotatedMessage[]

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