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

ServiceBusReceiverOptions interface

创建接收方时要使用的选项。

属性

identifier

设置用于标识接收方的名称。 这可用于关联日志和异常。 如果未指定或为空,将使用随机唯一值。

maxAutoLockRenewalDurationInMs

客户端会自动续订消息锁定的最大持续时间(以毫秒为单位)。 此自动续订在消息解决后停止。

  • 默认300 * 1000 毫秒(5 分钟)。
  • 若要禁用自动锁续订,请将此项设置为 0

示例:

如果消息锁定在 2 分钟内过期,并且消息处理时间为 8 分钟...

将 maxAutoLockRenewalDurationInMs 设置为 10 分钟,消息锁将自动续订 4 次(相当于利用锁续订将消息锁定 4 倍)。

receiveMode

表示接收方的接收模式。

在 receiveAndDelete 模式下,消息在收到时从服务总线中删除。

在速览锁模式下,接收方在队列/订阅上指定的持续时间内锁定消息。

未在锁定持续时间内解决的消息将重新传送到队列/订阅上设置的最大传递计数的次数,之后这些消息将发送到单独的死信队列。

可以通过对消息调用 complete()、abandon()、defer() 或 deadletter() 方法来解决消息。

有关 peekLock 和消息解决的工作原理的详细信息,请参阅:https://docs.microsoft.com/azure/service-bus-messaging/message-transfers-locks-settlement#peeklock

skipConvertingDate

是否跳过在收到消息时将消息批注的属性或应用程序属性的日期类型转换为数字。 默认情况下,日期类型的属性将转换为 UNIX 纪元数,以保持兼容性。

skipParsingBodyAsJson

用于在收到消息时禁用客户端在消息正文上运行 JSON.parse() 的选项。 如果消息是使用 AMQP 正文类型值或序列发送的,则不适用。 如果希望直接处理消息正文中存在的字节,而不是客户端尝试分析它,请使用此选项。

subQueueType

表示适用于任何队列或订阅的子队列。 有效值为“deadLetter”和“transferDeadLetter”。 若要了解有关死信队列的详细信息,请参阅 https://docs.microsoft.com/azure/service-bus-messaging/service-bus-dead-letter-queues

属性详细信息

identifier

设置用于标识接收方的名称。 这可用于关联日志和异常。 如果未指定或为空,将使用随机唯一值。

identifier?: string

属性值

string

maxAutoLockRenewalDurationInMs

客户端会自动续订消息锁定的最大持续时间(以毫秒为单位)。 此自动续订在消息解决后停止。

  • 默认300 * 1000 毫秒(5 分钟)。
  • 若要禁用自动锁续订,请将此项设置为 0

示例:

如果消息锁定在 2 分钟内过期,并且消息处理时间为 8 分钟...

将 maxAutoLockRenewalDurationInMs 设置为 10 分钟,消息锁将自动续订 4 次(相当于利用锁续订将消息锁定 4 倍)。

maxAutoLockRenewalDurationInMs?: number

属性值

number

receiveMode

表示接收方的接收模式。

在 receiveAndDelete 模式下,消息在收到时从服务总线中删除。

在速览锁模式下,接收方在队列/订阅上指定的持续时间内锁定消息。

未在锁定持续时间内解决的消息将重新传送到队列/订阅上设置的最大传递计数的次数,之后这些消息将发送到单独的死信队列。

可以通过对消息调用 complete()、abandon()、defer() 或 deadletter() 方法来解决消息。

有关 peekLock 和消息解决的工作原理的详细信息,请参阅:https://docs.microsoft.com/azure/service-bus-messaging/message-transfers-locks-settlement#peeklock

receiveMode?: "peekLock" | "receiveAndDelete"

属性值

"peekLock" | "receiveAndDelete"

skipConvertingDate

是否跳过在收到消息时将消息批注的属性或应用程序属性的日期类型转换为数字。 默认情况下,日期类型的属性将转换为 UNIX 纪元数,以保持兼容性。

skipConvertingDate?: boolean

属性值

boolean

skipParsingBodyAsJson

用于在收到消息时禁用客户端在消息正文上运行 JSON.parse() 的选项。 如果消息是使用 AMQP 正文类型值或序列发送的,则不适用。 如果希望直接处理消息正文中存在的字节,而不是客户端尝试分析它,请使用此选项。

skipParsingBodyAsJson?: boolean

属性值

boolean

subQueueType

表示适用于任何队列或订阅的子队列。 有效值为“deadLetter”和“transferDeadLetter”。 若要了解有关死信队列的详细信息,请参阅 https://docs.microsoft.com/azure/service-bus-messaging/service-bus-dead-letter-queues

subQueueType?: "deadLetter" | "transferDeadLetter"

属性值

"deadLetter" | "transferDeadLetter"