Sdílet prostřednictvím


ServiceBusSender interface

Odesílatel lze použít k odesílání zpráv, naplánování odesílání zpráv později a zrušení takových naplánovaných zpráv. Pomocí funkce createSender na ServiceBusClient vytvořte instanci odesílatele. Třída Sender je abstrakce nad podkladovým odkazem odesílatele AMQP.

Vlastnosti

entityPath

Cesta entity, pro kterou byl odesílatel vytvořen.

identifier

Jméno použité k identifikaci odesílatele. Dá se použít ke korelaci protokolů a výjimek. Pokud není zadaný nebo prázdný, vygeneruje se náhodný jedinečný.

isClosed

Vrátí true, pokud byl uzavřen buď odesílatel, nebo klient, který ho vytvořil.

Metody

cancelScheduledMessages(Long | Long[], OperationOptionsBase)

Zruší více zpráv, které byly naplánované tak, aby se zobrazovaly ve frontě nebo odběru služby ServiceBus.

close()

Zavře základní odkaz odesílatele AMQP. Po zavření nelze odesílatele použít pro žádné další operace. Vytvoření instance nového odesílatele pomocí funkce createSender ve QueueClient nebo TopicClient

createMessageBatch(CreateMessageBatchOptions)

Vytvoří instanci ServiceBusMessageBatch, do které může přidat zprávy, dokud nedosáhnete maximální podporované velikosti. Dávku je možné předat metodě <xref:send> pro odesílání zpráv do služby Azure Service Bus.

scheduleMessages(ServiceBusMessage | AmqpAnnotatedMessage | ServiceBusMessage[] | AmqpAnnotatedMessage[], Date, OperationOptionsBase)

Plány zadané zprávy se zobrazí ve frontě nebo odběru služby Service Bus později.

sendMessages(ServiceBusMessage | ServiceBusMessageBatch | AmqpAnnotatedMessage | ServiceBusMessage[] | AmqpAnnotatedMessage[], OperationOptionsBase)

Odešle dané zprávy po vytvoření odkazu Odesílatele AMQP, pokud ještě neexistuje.

  • Pokud chcete odesílat zprávy do session nebo partition povolenou frontu nebo téma, nastavte u zpráv sessionId nebo partitionKey vlastnosti.
  • Všechny zprávy předávané do stejného volání sendMessages() by měly mít stejné sessionId (pokud používáte relace) a stejné partitionKey (pokud používáte oddíly).

Poznámka:

Pokud chcete posílat zprávy o velikosti větší než 1 MB, odešlete jednotlivé zprávy místo odeslání dávkové zprávy nebo pole zpráv, jako je níže.

await sender.sendMessages(message);

Důvodem je to, že dávkové zprávy zatím nejsou schopné odesílat větší zprávy. V tomto případě se zobrazí chyba force detached jinak. Přečtěte si service-bus-premium-messaging#large-messages-support. Další informace najdete v č. 23014.

Podrobnosti vlastnosti

entityPath

Cesta entity, pro kterou byl odesílatel vytvořen.

entityPath: string

Hodnota vlastnosti

string

identifier

Jméno použité k identifikaci odesílatele. Dá se použít ke korelaci protokolů a výjimek. Pokud není zadaný nebo prázdný, vygeneruje se náhodný jedinečný.

identifier: string

Hodnota vlastnosti

string

isClosed

Vrátí true, pokud byl uzavřen buď odesílatel, nebo klient, který ho vytvořil.

isClosed: boolean

Hodnota vlastnosti

boolean

Podrobnosti metody

cancelScheduledMessages(Long | Long[], OperationOptionsBase)

Zruší více zpráv, které byly naplánované tak, aby se zobrazovaly ve frontě nebo odběru služby ServiceBus.

function cancelScheduledMessages(sequenceNumbers: Long | Long[], options?: OperationOptionsBase): Promise<void>

Parametry

sequenceNumbers

Long | Long[]

Pořadové číslo nebo matice pořadových čísel zpráv, které mají být zrušeny.

options
OperationOptionsBase

Taška možností pro předání přerušeného signálu nebo trasování možností.

Návraty

Promise<void>

close()

Zavře základní odkaz odesílatele AMQP. Po zavření nelze odesílatele použít pro žádné další operace. Vytvoření instance nového odesílatele pomocí funkce createSender ve QueueClient nebo TopicClient

function close(): Promise<void>

Návraty

Promise<void>

createMessageBatch(CreateMessageBatchOptions)

Vytvoří instanci ServiceBusMessageBatch, do které může přidat zprávy, dokud nedosáhnete maximální podporované velikosti. Dávku je možné předat metodě <xref:send> pro odesílání zpráv do služby Azure Service Bus.

function createMessageBatch(options?: CreateMessageBatchOptions): Promise<ServiceBusMessageBatch>

Parametry

options
CreateMessageBatchOptions

Konfiguruje chování dávky.

  • maxSizeInBytes: Horní limit velikosti dávky. Funkce tryAdd vrátí false po dosažení tohoto limitu.

Návraty

scheduleMessages(ServiceBusMessage | AmqpAnnotatedMessage | ServiceBusMessage[] | AmqpAnnotatedMessage[], Date, OperationOptionsBase)

Plány zadané zprávy se zobrazí ve frontě nebo odběru služby Service Bus později.

function scheduleMessages(messages: ServiceBusMessage | AmqpAnnotatedMessage | ServiceBusMessage[] | AmqpAnnotatedMessage[], scheduledEnqueueTimeUtc: Date, options?: OperationOptionsBase): Promise<Long[]>

Parametry

messages

ServiceBusMessage | AmqpAnnotatedMessage | ServiceBusMessage[] | AmqpAnnotatedMessage[]

Zpráva nebo pole zpráv, které je potřeba naplánovat.

scheduledEnqueueTimeUtc

Date

Čas UTC, kdy se mají zprávy začíst do fronty.

options
OperationOptionsBase

Taška možností pro předání přerušeného signálu nebo trasování možností.

Návraty

Promise<Long[]>

Pořadová čísla zpráv, které byly naplánovány. Pokud chcete zrušit plánování zpráv, budete potřebovat pořadové číslo. Uložte Long typ as-is v aplikaci bez převodu na číslo. Vzhledem k tomu, že JavaScript podporuje pouze 53bitová čísla, převod Long na číslo způsobí ztrátu přesnosti.

sendMessages(ServiceBusMessage | ServiceBusMessageBatch | AmqpAnnotatedMessage | ServiceBusMessage[] | AmqpAnnotatedMessage[], OperationOptionsBase)

Odešle dané zprávy po vytvoření odkazu Odesílatele AMQP, pokud ještě neexistuje.

  • Pokud chcete odesílat zprávy do session nebo partition povolenou frontu nebo téma, nastavte u zpráv sessionId nebo partitionKey vlastnosti.
  • Všechny zprávy předávané do stejného volání sendMessages() by měly mít stejné sessionId (pokud používáte relace) a stejné partitionKey (pokud používáte oddíly).

Poznámka:

Pokud chcete posílat zprávy o velikosti větší než 1 MB, odešlete jednotlivé zprávy místo odeslání dávkové zprávy nebo pole zpráv, jako je níže.

await sender.sendMessages(message);

Důvodem je to, že dávkové zprávy zatím nejsou schopné odesílat větší zprávy. V tomto případě se zobrazí chyba force detached jinak. Přečtěte si service-bus-premium-messaging#large-messages-support. Další informace najdete v č. 23014.

function sendMessages(messages: ServiceBusMessage | ServiceBusMessageBatch | AmqpAnnotatedMessage | ServiceBusMessage[] | AmqpAnnotatedMessage[], options?: OperationOptionsBase): Promise<void>

Parametry

messages

ServiceBusMessage | ServiceBusMessageBatch | AmqpAnnotatedMessage | ServiceBusMessage[] | AmqpAnnotatedMessage[]

Jedna zpráva nebo pole zpráv nebo dávka zpráv vytvořených pomocí metody createBatch() k odeslání.

options
OperationOptionsBase

Taška možností pro předání přerušeného signálu nebo trasování možností.

Návraty

Promise<void>