ServiceBusSessionReceiver interface
處理工作階段的接收者,包括更新工作階段鎖定。
- Extends
屬性
session |
會話標識碼。 |
session |
以UTC為單位的時間,直到會話鎖定為止。
每次呼叫 將會傳回未定義,直到已成功為會話設定AMQP接收者連結為止。 |
繼承的屬性
entity |
已建立接收者之實體的路徑。 |
identifier | 用來識別接收者的名稱。 這可用來將記錄和例外狀況相互關聯。 如果未指定或空白,則會產生隨機唯一的 。 |
is |
如果接收者或建立它的用戶端已經關閉,則傳回 |
receive |
用來建立接收者的接收模式。 |
方法
get |
取得工作階段的狀態。 如需會話狀態的詳細資訊,請參閱 工作階段狀態 |
renew |
更新會話上的鎖定。 |
set |
設定會話上的狀態。 如需會話狀態的詳細資訊,請參閱 工作階段狀態 |
subscribe(Message |
將訊息串流至訊息處理程式。 |
繼承的方法
abandon |
接收者在訊息上保留的鎖定會放開,讓服務總線中再次提供訊息以供另一個接收作業使用。 |
close() | 關閉接收者。
關閉之後,接收者就無法用於任何進一步的作業。
使用 ServiceBusClient 上的 |
complete |
從服務總線移除訊息。 |
dead |
將訊息移至死者子佇列。 若要接收已刪除的訊息,請使用死者子佇列的路徑建立新的 QueueClient/SubscriptionClient。 |
defer |
延遲訊息的處理。 儲存訊息的 |
get |
傳回反覆運算器,可用來從服務總線接收訊息。 |
peek |
在佇列或訂用帳戶上查看下一批作用中訊息(包括延遲但未失效的訊息),而不需修改它們。
|
receive |
傳回承諾,這個承諾會解析為指定之 |
receive |
傳回可解析為從服務總線接收之訊息陣列的承諾。 |
renew |
在佇列/訂用帳戶建立期間指定期間,更新訊息上的鎖定。
|
屬性詳細資料
sessionId
會話標識碼。
sessionId: string
屬性值
string
sessionLockedUntilUtc
以UTC為單位的時間,直到會話鎖定為止。
每次呼叫 renewSessionLock()
時,這個時間就會更新為目前時間,加上佇列/訂用帳戶建立期間所指定的鎖定持續時間。
將會傳回未定義,直到已成功為會話設定AMQP接收者連結為止。
sessionLockedUntilUtc: Date
屬性值
Date
繼承的屬性詳細資料
entityPath
identifier
用來識別接收者的名稱。 這可用來將記錄和例外狀況相互關聯。 如果未指定或空白,則會產生隨機唯一的 。
identifier: string
屬性值
string
isClosed
receiveMode
用來建立接收者的接收模式。
receiveMode: "peekLock" | "receiveAndDelete"
屬性值
"peekLock" | "receiveAndDelete"
方法詳細資料
getSessionState(OperationOptionsBase)
取得工作階段的狀態。 如需會話狀態的詳細資訊,請參閱 工作階段狀態
function getSessionState(options?: OperationOptionsBase): Promise<any>
參數
- options
- OperationOptionsBase
傳遞中止訊號或追蹤選項的選項包。
傳回
Promise<any>
該會話的狀態
renewSessionLock(OperationOptionsBase)
更新會話上的鎖定。
function renewSessionLock(options?: OperationOptionsBase): Promise<Date>
參數
- options
- OperationOptionsBase
傳回
Promise<Date>
setSessionState(any, OperationOptionsBase)
設定會話上的狀態。 如需會話狀態的詳細資訊,請參閱 工作階段狀態
function setSessionState(state: any, options?: OperationOptionsBase): Promise<void>
參數
- state
-
any
需要設定的狀態。
- options
- OperationOptionsBase
傳遞中止訊號或追蹤選項的選項包。
傳回
Promise<void>
subscribe(MessageHandlers, SubscribeOptions)
將訊息串流至訊息處理程式。
function subscribe(handlers: MessageHandlers, options?: SubscribeOptions): { close() => Promise<void> }
參數
- handlers
- MessageHandlers
針對訊息和錯誤呼叫的處理程式。
- options
- SubscribeOptions
訂閱的選項。
傳回
{ close() => Promise<void> }
可以關閉的物件,將任何剩餘的訊息傳送至 handlers
,並停止新訊息抵達。
繼承的方法的詳細資料
abandonMessage(ServiceBusReceivedMessage, {[key: string]: number | boolean | string | Date | null})
接收者在訊息上保留的鎖定會放開,讓服務總線中再次提供訊息以供另一個接收作業使用。
function abandonMessage(message: ServiceBusReceivedMessage, propertiesToModify?: {[key: string]: number | boolean | string | Date | null}): Promise<void>
參數
- message
- ServiceBusReceivedMessage
- propertiesToModify
-
{[key: string]: number | boolean | string | Date | null}
放棄訊息時要修改之訊息的屬性。
傳回
Promise<void>
close()
關閉接收者。
關閉之後,接收者就無法用於任何進一步的作業。
使用 ServiceBusClient 上的 createReceiver()
方法來建立新的接收者。
function close(): Promise<void>
傳回
Promise<void>
completeMessage(ServiceBusReceivedMessage)
從服務總線移除訊息。
function completeMessage(message: ServiceBusReceivedMessage): Promise<void>
參數
- message
- ServiceBusReceivedMessage
傳回
Promise<void>
deadLetterMessage(ServiceBusReceivedMessage, DeadLetterOptions & {[key: string]: number | boolean | string | Date | null})
將訊息移至死者子佇列。 若要接收已刪除的訊息,請使用死者子佇列的路徑建立新的 QueueClient/SubscriptionClient。
function deadLetterMessage(message: ServiceBusReceivedMessage, options?: DeadLetterOptions & {[key: string]: number | boolean | string | Date | null}): Promise<void>
參數
- message
- ServiceBusReceivedMessage
- options
-
DeadLetterOptions & {[key: string]: number | boolean | string | Date | null}
拒絕訊息時可以提供的 DeadLetter 選項。
傳回
Promise<void>
deferMessage(ServiceBusReceivedMessage, {[key: string]: number | boolean | string | Date | null})
延遲訊息的處理。 儲存訊息的 sequenceNumber
,以便日後使用 receiveDeferredMessage
方法再次接收訊息。
function deferMessage(message: ServiceBusReceivedMessage, propertiesToModify?: {[key: string]: number | boolean | string | Date | null}): Promise<void>
參數
- message
- ServiceBusReceivedMessage
- propertiesToModify
-
{[key: string]: number | boolean | string | Date | null}
延遲訊息時要修改之訊息的屬性
傳回
Promise<void>
getMessageIterator(GetMessageIteratorOptions)
傳回反覆運算器,可用來從服務總線接收訊息。
function getMessageIterator(options?: GetMessageIteratorOptions): AsyncIterableIterator<ServiceBusReceivedMessage>
參數
傳回
AsyncIterableIterator<ServiceBusReceivedMessage>
peekMessages(number, PeekMessagesOptions)
在佇列或訂用帳戶上查看下一批作用中訊息(包括延遲但未失效的訊息),而不需修改它們。
- 第一次呼叫
peekMessages()
擷取第一個使用中訊息。 每個後續呼叫都會擷取後續的訊息。 - 不同於「已接收」訊息,「查看」訊息是訊息的唯讀版本。
它不能
Completed/Abandoned/Deferred/Deadlettered
。
function peekMessages(maxMessageCount: number, options?: PeekMessagesOptions): Promise<ServiceBusReceivedMessage[]>
參數
- maxMessageCount
-
number
要查看的訊息數目上限。
- options
- PeekMessagesOptions
允許指定要查看之訊息數目上限的選項、開始窺視的 sequenceNumber 或中止中止作業的選項。
傳回
Promise<ServiceBusReceivedMessage[]>
receiveDeferredMessages(Long | Long[], OperationOptionsBase)
傳回承諾,這個承諾會解析為指定之 sequenceNumbers
所識別的延遲訊息陣列。
function receiveDeferredMessages(sequenceNumbers: Long | Long[], options?: OperationOptionsBase): Promise<ServiceBusReceivedMessage[]>
參數
- sequenceNumbers
-
Long | Long[]
需要接收之訊息的序號或序號陣列。
- options
- OperationOptionsBase
傳遞中止訊號或追蹤選項的選項包。
傳回
Promise<ServiceBusReceivedMessage[]>
指定 sequenceNumbers 所識別的訊息清單,如果沒有找到任何訊息,則為空白清單。
receiveMessages(number, ReceiveMessagesOptions)
傳回可解析為從服務總線接收之訊息陣列的承諾。
function receiveMessages(maxMessageCount: number, options?: ReceiveMessagesOptions): Promise<ServiceBusReceivedMessage[]>
參數
- maxMessageCount
-
number
要接收的訊息數目上限。
- options
- ReceiveMessagesOptions
一組控制接收作業的選項。
-
maxWaitTimeInMs
:如果沒有可用的訊息,則傳回空陣列之前等待第一個訊息的時間上限。 -
abortSignal
:用來中止進行中作業的訊號。
傳回
Promise<ServiceBusReceivedMessage[]>
使用訊息陣列解析的承諾。
renewMessageLock(ServiceBusReceivedMessage)
在佇列/訂用帳戶建立期間指定期間,更新訊息上的鎖定。
- 檢查訊息上的
lockedUntilUtc
屬性,以取得鎖定到期的時間。 - 如果未解決訊息(使用
complete()
、defer()
或deadletter()
,在鎖定到期之前,訊息會回到佇列/訂用帳戶中,以供下一次接收作業使用。
function renewMessageLock(message: ServiceBusReceivedMessage): Promise<Date>
參數
- message
- ServiceBusReceivedMessage
傳回
Promise<Date>
以UTC格式的新鎖定令牌到期日期和時間。