共用方式為


ServiceBusSessionReceiver interface

處理工作階段的接收者,包括更新工作階段鎖定。

Extends

屬性

sessionId

會話標識碼。

sessionLockedUntilUtc

以UTC為單位的時間,直到會話鎖定為止。 每次呼叫 renewSessionLock() 時,這個時間就會更新為目前時間,加上佇列/訂用帳戶建立期間所指定的鎖定持續時間。

將會傳回未定義,直到已成功為會話設定AMQP接收者連結為止。

繼承的屬性

entityPath

已建立接收者之實體的路徑。

identifier

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

isClosed

如果接收者或建立它的用戶端已經關閉,則傳回 true

receiveMode

用來建立接收者的接收模式。

方法

getSessionState(OperationOptionsBase)

取得工作階段的狀態。 如需會話狀態的詳細資訊,請參閱 工作階段狀態

renewSessionLock(OperationOptionsBase)

更新會話上的鎖定。

setSessionState(any, OperationOptionsBase)

設定會話上的狀態。 如需會話狀態的詳細資訊,請參閱 工作階段狀態

subscribe(MessageHandlers, SubscribeOptions)

將訊息串流至訊息處理程式。

繼承的方法

abandonMessage(ServiceBusReceivedMessage, {[key: string]: number | boolean | string | Date | null})

接收者在訊息上保留的鎖定會放開,讓服務總線中再次提供訊息以供另一個接收作業使用。

close()

關閉接收者。 關閉之後,接收者就無法用於任何進一步的作業。 使用 ServiceBusClient 上的 createReceiver() 方法來建立新的接收者。

completeMessage(ServiceBusReceivedMessage)

從服務總線移除訊息。

deadLetterMessage(ServiceBusReceivedMessage, DeadLetterOptions & {[key: string]: number | boolean | string | Date | null})

將訊息移至死者子佇列。 若要接收已刪除的訊息,請使用死者子佇列的路徑建立新的 QueueClient/SubscriptionClient。

deferMessage(ServiceBusReceivedMessage, {[key: string]: number | boolean | string | Date | null})

延遲訊息的處理。 儲存訊息的 sequenceNumber,以便日後使用 receiveDeferredMessage 方法再次接收訊息。

getMessageIterator(GetMessageIteratorOptions)

傳回反覆運算器,可用來從服務總線接收訊息。

peekMessages(number, PeekMessagesOptions)

在佇列或訂用帳戶上查看下一批作用中訊息(包括延遲但未失效的訊息),而不需修改它們。

  • 第一次呼叫 peekMessages() 擷取第一個使用中訊息。 每個後續呼叫都會擷取後續的訊息。
  • 不同於「已接收」訊息,「查看」訊息是訊息的唯讀版本。 它不能 Completed/Abandoned/Deferred/Deadlettered
receiveDeferredMessages(Long | Long[], OperationOptionsBase)

傳回承諾,這個承諾會解析為指定之 sequenceNumbers所識別的延遲訊息陣列。

receiveMessages(number, ReceiveMessagesOptions)

傳回可解析為從服務總線接收之訊息陣列的承諾。

renewMessageLock(ServiceBusReceivedMessage)

在佇列/訂用帳戶建立期間指定期間,更新訊息上的鎖定。

  • 檢查訊息上的 lockedUntilUtc 屬性,以取得鎖定到期的時間。
  • 如果未解決訊息(使用 complete()defer()deadletter(),在鎖定到期之前,訊息會回到佇列/訂用帳戶中,以供下一次接收作業使用。

屬性詳細資料

sessionId

會話標識碼。

sessionId: string

屬性值

string

sessionLockedUntilUtc

以UTC為單位的時間,直到會話鎖定為止。 每次呼叫 renewSessionLock() 時,這個時間就會更新為目前時間,加上佇列/訂用帳戶建立期間所指定的鎖定持續時間。

將會傳回未定義,直到已成功為會話設定AMQP接收者連結為止。

sessionLockedUntilUtc: Date

屬性值

Date

繼承的屬性詳細資料

entityPath

已建立接收者之實體的路徑。

entityPath: string

屬性值

string

繼承自ServiceBusReceiver.entityPath

identifier

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

identifier: string

屬性值

string

繼承自ServiceBusReceiver.identifier

isClosed

如果接收者或建立它的用戶端已經關閉,則傳回 true

isClosed: boolean

屬性值

boolean

繼承自ServiceBusReceiver.isClosed

receiveMode

用來建立接收者的接收模式。

receiveMode: "peekLock" | "receiveAndDelete"

屬性值

"peekLock" | "receiveAndDelete"

繼承自ServiceBusReceiver.receiveMode

方法詳細資料

getSessionState(OperationOptionsBase)

取得工作階段的狀態。 如需會話狀態的詳細資訊,請參閱 工作階段狀態

function getSessionState(options?: OperationOptionsBase): Promise<any>

參數

options
OperationOptionsBase

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

傳回

Promise<any>

該會話的狀態

renewSessionLock(OperationOptionsBase)

更新會話上的鎖定。

function renewSessionLock(options?: OperationOptionsBase): Promise<Date>

參數

傳回

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>

參數

propertiesToModify

{[key: string]: number | boolean | string | Date | null}

放棄訊息時要修改之訊息的屬性。

傳回

Promise<void>

繼承自ServiceBusReceiver.abandonMessage

close()

關閉接收者。 關閉之後,接收者就無法用於任何進一步的作業。 使用 ServiceBusClient 上的 createReceiver() 方法來建立新的接收者。

function close(): Promise<void>

傳回

Promise<void>

繼承自ServiceBusReceiver.close

completeMessage(ServiceBusReceivedMessage)

從服務總線移除訊息。

function completeMessage(message: ServiceBusReceivedMessage): Promise<void>

參數

傳回

Promise<void>

繼承自ServiceBusReceiver.completeMessage

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>

參數

options

DeadLetterOptions & {[key: string]: number | boolean | string | Date | null}

拒絕訊息時可以提供的 DeadLetter 選項。

傳回

Promise<void>

繼承自ServiceBusReceiver.deadLetterMessage

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>

參數

propertiesToModify

{[key: string]: number | boolean | string | Date | null}

延遲訊息時要修改之訊息的屬性

傳回

Promise<void>

繼承自ServiceBusReceiver.deferMessage

getMessageIterator(GetMessageIteratorOptions)

傳回反覆運算器,可用來從服務總線接收訊息。

function getMessageIterator(options?: GetMessageIteratorOptions): AsyncIterableIterator<ServiceBusReceivedMessage>

參數

options
GetMessageIteratorOptions

一組控制接收作業的選項。

  • abortSignal:用來中止進行中作業的訊號。

傳回

AsyncIterableIterator<ServiceBusReceivedMessage>

繼承自ServiceBusReceiver.getMessageIterator

peekMessages(number, PeekMessagesOptions)

在佇列或訂用帳戶上查看下一批作用中訊息(包括延遲但未失效的訊息),而不需修改它們。

  • 第一次呼叫 peekMessages() 擷取第一個使用中訊息。 每個後續呼叫都會擷取後續的訊息。
  • 不同於「已接收」訊息,「查看」訊息是訊息的唯讀版本。 它不能 Completed/Abandoned/Deferred/Deadlettered
function peekMessages(maxMessageCount: number, options?: PeekMessagesOptions): Promise<ServiceBusReceivedMessage[]>

參數

maxMessageCount

number

要查看的訊息數目上限。

options
PeekMessagesOptions

允許指定要查看之訊息數目上限的選項、開始窺視的 sequenceNumber 或中止中止作業的選項。

傳回

繼承自ServiceBusReceiver.peekMessages

receiveDeferredMessages(Long | Long[], OperationOptionsBase)

傳回承諾,這個承諾會解析為指定之 sequenceNumbers所識別的延遲訊息陣列。

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

參數

sequenceNumbers

Long | Long[]

需要接收之訊息的序號或序號陣列。

options
OperationOptionsBase

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

傳回

指定 sequenceNumbers 所識別的訊息清單,如果沒有找到任何訊息,則為空白清單。

繼承自ServiceBusReceiver.receiveDeferredMessages

receiveMessages(number, ReceiveMessagesOptions)

傳回可解析為從服務總線接收之訊息陣列的承諾。

function receiveMessages(maxMessageCount: number, options?: ReceiveMessagesOptions): Promise<ServiceBusReceivedMessage[]>

參數

maxMessageCount

number

要接收的訊息數目上限。

options
ReceiveMessagesOptions

一組控制接收作業的選項。

  • maxWaitTimeInMs:如果沒有可用的訊息,則傳回空陣列之前等待第一個訊息的時間上限。
  • abortSignal:用來中止進行中作業的訊號。

傳回

使用訊息陣列解析的承諾。

繼承自ServiceBusReceiver.receiveMessages

renewMessageLock(ServiceBusReceivedMessage)

在佇列/訂用帳戶建立期間指定期間,更新訊息上的鎖定。

  • 檢查訊息上的 lockedUntilUtc 屬性,以取得鎖定到期的時間。
  • 如果未解決訊息(使用 complete()defer()deadletter(),在鎖定到期之前,訊息會回到佇列/訂用帳戶中,以供下一次接收作業使用。
function renewMessageLock(message: ServiceBusReceivedMessage): Promise<Date>

參數

傳回

Promise<Date>

以UTC格式的新鎖定令牌到期日期和時間。

繼承自ServiceBusReceiver.renewMessageLock