ServiceBusSender interface
寄件者可用來傳送訊息、排程稍後要傳送的訊息,以及取消這類排程的訊息。
使用 ServiceBusClient 上的 createSender 函式來具現化 Sender。
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 類型 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>