共用方式為


ServiceBusSender interface

傳送者可以用來傳送訊息、排程稍後要傳送的訊息,並取消這類排程的郵件。 使用 ServiceBusClient 上的 函 createSender 式來具現化傳送者。 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 類型依原樣儲存在您的應用程式中,而不需轉換成數位。 由於 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>