ServiceBusSender interface
傳送者可以用來傳送訊息、排程稍後要傳送的訊息,並取消這類排程的郵件。
使用 ServiceBusClient 上的 函 createSender
式來具現化傳送者。
Sender 類別是基礎 AMQP 寄件者連結的抽象概念。
屬性
entity |
已建立傳送者之實體的路徑。 |
identifier | 用來識別寄件者的名稱。 這可用來將記錄和例外狀況相互關聯。 如果未指定或空白,則會產生隨機唯一的 。 |
is |
|
方法
cancel |
取消排定出現在 ServiceBus 佇列/訂用帳戶上的多個訊息。 |
close() | 關閉基礎 AMQP 傳送者連結。
關閉之後,傳送者就無法用於任何進一步的作業。
在 QueueClient 或 TopicClient 上使用 函 |
create |
建立 的實例 |
schedule |
排程指定的訊息,以便稍後出現在服務匯流排佇列/訂用帳戶上。 |
send |
如果尚未存在,請在建立 AMQP 寄件者連結之後傳送指定的訊息。
注意: 如果您想要傳送大小大於 1MB 的訊息,請傳送個別訊息,而不是傳送批次訊息或如下所示的訊息陣列。
這是因為批次處理的訊息還無法傳送較大的訊息。 否則,您將遇到 |
屬性詳細資料
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>
參數
傳回
Promise<ServiceBusMessageBatch>
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>