你当前正在访问 Microsoft Azure Global Edition 技术文档网站。 如果需要访问由世纪互联运营的 Microsoft Azure 中国技术文档网站,请访问 https://docs.azure.cn

ServiceBusSessionReceiver interface

处理会话(包括续订会话锁)的接收方。

Extends

属性

sessionId

会话 ID。

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()

关闭接收方。 关闭后,接收器不能用于任何进一步的操作。 createReceiver()在 ServiceBusClient 上使用 方法创建新的接收方。

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

会话 ID。

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()

关闭接收方。 关闭后,接收器不能用于任何进一步的操作。 createReceiver()在 ServiceBusClient 上使用 方法创建新的接收方。

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 或 abortSignal 以中止操作的选项。

返回

继承自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