共用方式為


ServiceBusSender interface

寄件者可用來傳送訊息、排程稍後要傳送的訊息,以及取消這類排程的訊息。 使用 ServiceBusClient 上的 createSender 函式來具現化 Sender。 Sender 類別是基礎 AMQP 發件人連結的抽象概念。

屬性

entityPath

已建立寄件者之實體的路徑。

identifier

用來識別寄件者的名稱。 這可用來將記錄和例外狀況相互關聯。 如果未指定或空白,則會產生隨機唯一的 。

isClosed

如果建立的寄件者或客戶端已經關閉,則傳回 true

方法

cancelScheduledMessages(Long | Long[], OperationOptionsBase)

取消已排程出現在 ServiceBus 佇列/訂用帳戶上的多個訊息。

close()

關閉基礎 AMQP 寄件者連結。 關閉之後,傳送者就無法用於任何進一步的作業。 使用 QueueClient 或 TopicClient 上的 createSender 函式來具現化新的寄件者

createMessageBatch(CreateMessageBatchOptions)

建立 ServiceBusMessageBatch 實例,您可以在其中新增訊息,直到達到支援的大小上限為止。 批次可以傳遞至 <xref:send> 方法,以將訊息傳送至 Azure 服務總線。

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

排程在稍後出現在服務總線佇列/訂用帳戶上的指定訊息。

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

如果尚未存在,請在建立AMQP發件人鏈接之後傳送指定的訊息。

  • 若要將訊息傳送至已啟用佇列/主題的 session 和/或 partition,請在訊息上分別設定 sessionId 和/或 partitionKey 屬性。
  • 傳遞至相同 sendMessages() 呼叫的所有訊息都應該有相同的 sessionId(如果使用會話),以及相同的 partitionKey(如果使用分割區)。

附注:

如果您想要傳送大小大於 1MB 的訊息,請傳送個別訊息,而不是傳送批次訊息或如下所示的訊息數位。

await sender.sendMessages(message);

這是因為批處理的訊息尚無法傳送較大的訊息。 在此情況下,您將遇到 force detached 錯誤。 讀取 service-bus-premium-messaging#large-messages-support。 如需詳細資訊,請參閱 #23014

屬性詳細資料

entityPath

已建立寄件者之實體的路徑。

entityPath: string

屬性值

string

identifier

用來識別寄件者的名稱。 這可用來將記錄和例外狀況相互關聯。 如果未指定或空白,則會產生隨機唯一的 。

identifier: string

屬性值

string

isClosed

如果建立的寄件者或客戶端已經關閉,則傳回 true

isClosed: boolean

屬性值

boolean

方法詳細資料

cancelScheduledMessages(Long | Long[], OperationOptionsBase)

取消已排程出現在 ServiceBus 佇列/訂用帳戶上的多個訊息。

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

參數

sequenceNumbers

Long | Long[]

要取消之訊息的序號或序號陣列。

options
OperationOptionsBase

傳遞中止訊號或追蹤選項的選項包。

傳回

Promise<void>

close()

關閉基礎 AMQP 寄件者連結。 關閉之後,傳送者就無法用於任何進一步的作業。 使用 QueueClient 或 TopicClient 上的 createSender 函式來具現化新的寄件者

function close(): Promise<void>

傳回

Promise<void>

createMessageBatch(CreateMessageBatchOptions)

建立 ServiceBusMessageBatch 實例,您可以在其中新增訊息,直到達到支援的大小上限為止。 批次可以傳遞至 <xref:send> 方法,以將訊息傳送至 Azure 服務總線。

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

參數

options
CreateMessageBatchOptions

設定批次的行為。

  • maxSizeInBytes:批次大小的上限。 達到此限制之後,tryAdd 函式會傳回 false

傳回

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

排程在稍後出現在服務總線佇列/訂用帳戶上的指定訊息。

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

參數

messages

ServiceBusMessage | AmqpAnnotatedMessage | ServiceBusMessage[] | AmqpAnnotatedMessage[]

訊息或需要排程的訊息陣列。

scheduledEnqueueTimeUtc

Date

應加入佇列訊息的 UTC 時間。

options
OperationOptionsBase

傳遞中止訊號或追蹤選項的選項包。

傳回

Promise<Long[]>

已排程之訊息的序號。 如果您要取消訊息的排程,您將需要序號。 在應用程式中儲存 Long 類型 as-is,而不轉換成數位。 由於 JavaScript 僅支援 53 位數位,因此將 Long 轉換成數位會導致精確度遺失。

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

如果尚未存在,請在建立AMQP發件人鏈接之後傳送指定的訊息。

  • 若要將訊息傳送至已啟用佇列/主題的 session 和/或 partition,請在訊息上分別設定 sessionId 和/或 partitionKey 屬性。
  • 傳遞至相同 sendMessages() 呼叫的所有訊息都應該有相同的 sessionId(如果使用會話),以及相同的 partitionKey(如果使用分割區)。

附注:

如果您想要傳送大小大於 1MB 的訊息,請傳送個別訊息,而不是傳送批次訊息或如下所示的訊息數位。

await sender.sendMessages(message);

這是因為批處理的訊息尚無法傳送較大的訊息。 在此情況下,您將遇到 force detached 錯誤。 讀取 service-bus-premium-messaging#large-messages-support。 如需詳細資訊,請參閱 #23014

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

參數

messages

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

透過 createBatch() 方法來傳送的單一訊息或訊息陣列或一批訊息。

options
OperationOptionsBase

傳遞中止訊號或追蹤選項的選項包。

傳回

Promise<void>