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

ServiceBusSessionReceiver interface

处理会话的接收器,包括续订会话锁。

扩展

属性

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

关闭接收方。 关闭后,接收器不能用于任何进一步的作。 使用 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

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

关闭接收方。 关闭后,接收器不能用于任何进一步的作。 使用 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