你当前正在访问 Microsoft Azure Global Edition 技术文档网站。 如果需要访问由世纪互联运营的 Microsoft Azure 中国技术文档网站,请访问 https://docs.azure.cn。
ServiceBusSessionReceiver interface
处理会话(包括续订会话锁)的接收方。
- 扩展
属性
session |
会话 ID。 |
session |
会话锁定前的 UTC 时间。
在成功为会话设置 AMQP 接收方链接之前,将返回未定义。 |
继承属性
entity |
已为其创建接收器的实体的路径。 |
identifier | 用于标识接收方的名称。 这可用于关联日志和异常。 如果未指定或为空,将生成一个随机唯一的。 |
is |
|
receive |
用于创建接收方的接收模式。 |
方法
get |
获取会话的状态。 有关会话状态的详细信息,请参阅 会话状态 |
renew |
续订会话上的锁。 |
set |
设置会话的状态。 有关会话状态的详细信息,请参阅 会话状态 |
subscribe(Message |
将消息流式传输到消息处理程序。 |
继承的方法
abandon |
接收方在消息上持有的锁被放开,使消息在服务总线中再次可用于另一个接收操作。 |
close() | 关闭接收方。
关闭后,接收器不能用于任何进一步的操作。
|
complete |
从服务总线中删除消息。 |
dead |
将消息移动到死信子队列。 若要接收死消息,请使用死信子队列的路径创建新的 QueueClient/SubscriptionClient。 |
defer |
延迟消息的处理。
|
get |
返回可用于从服务总线接收消息的迭代器。 |
peek |
查看下一批活动消息, (队列或订阅上) 包括延迟但不是死信的消息,而无需修改它们。
|
receive |
返回一个承诺,该承诺解析为给定 |
receive |
返回一个承诺,该承诺解析为从服务总线接收的消息数组。 |
renew |
在队列/订阅创建期间指定的持续时间内续订消息上的锁。
|
属性详细信息
sessionId
会话 ID。
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()
关闭接收方。
关闭后,接收器不能用于任何进一步的操作。
createReceiver()
在 ServiceBusClient 上使用 方法创建新的接收方。
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 或 abortSignal 以中止操作的选项。
返回
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 格式的新锁令牌到期日期和时间。