你当前正在访问 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 模式下,消息在收到时会从服务总线中删除。

在 peekLock 模式下,接收方在队列/订阅中指定的持续时间内对消息进行了锁定。

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

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

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

skipConvertingDate

接收消息时,是否跳过将消息注释或应用程序属性的属性上的 Date 类型转换为数字。 默认情况下,为了兼容,日期类型的属性将转换为 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 模式下,消息在收到时会从服务总线中删除。

在 peekLock 模式下,接收方在队列/订阅中指定的持续时间内对消息进行了锁定。

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

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

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

receiveMode?: "peekLock" | "receiveAndDelete"

属性值

"peekLock" | "receiveAndDelete"

skipConvertingDate

接收消息时,是否跳过将消息注释或应用程序属性的属性上的 Date 类型转换为数字。 默认情况下,为了兼容,日期类型的属性将转换为 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"