ServiceBusReceiverOptions interface

Options to use when creating a receiver.

Properties

identifier

Sets the name to identify the receiver. This can be used to correlate logs and exceptions. If not specified or empty, a random unique one will be used.

maxAutoLockRenewalDurationInMs

The maximum duration, in milliseconds, that the lock on the message will be renewed automatically by the client. This auto renewal stops once the message is settled.

  • Default: 300 * 1000 milliseconds (5 minutes).
  • To disable autolock renewal, set this to 0.

Example:

If the message lock expires in 2 minutes and your message processing time is 8 minutes...

Set maxAutoLockRenewalDurationInMs to 10 minutes, and the message lock will be automatically renewed for 4 times (equivalent to having the message locked for 4 times its lock duration by leveraging the lock renewals).

receiveMode

Represents the receive mode for the receiver.

In receiveAndDelete mode, messages are deleted from Service Bus as they are received.

In peekLock mode, the receiver has a lock on the message for the duration specified on the queue/subscription.

Messages that are not settled within the lock duration will be redelivered as many times as the max delivery count set on the queue/subscription, after which they get sent to a separate dead letter queue.

You can settle a message by calling complete(), abandon(), defer() or deadletter() methods on the message.

More information about how peekLock and message settlement works here: https://docs.microsoft.com/azure/service-bus-messaging/message-transfers-locks-settlement#peeklock

skipConvertingDate

Whether to skip converting Date type on properties of message annotations or application properties into numbers when receiving the message. By default, properties of Date type is converted into UNIX epoch number for compatibility.

skipParsingBodyAsJson

Option to disable the client from running JSON.parse() on the message body when receiving the message. Not applicable if the message was sent with AMQP body type value or sequence. Use this option when you prefer to work directly with the bytes present in the message body than have the client attempt to parse it.

subQueueType

Represents the sub queue that is applicable for any queue or subscription. Valid values are "deadLetter" and "transferDeadLetter". To learn more about dead letter queues, see https://docs.microsoft.com/azure/service-bus-messaging/service-bus-dead-letter-queues

Property Details

identifier

Sets the name to identify the receiver. This can be used to correlate logs and exceptions. If not specified or empty, a random unique one will be used.

identifier?: string

Property Value

string

maxAutoLockRenewalDurationInMs

The maximum duration, in milliseconds, that the lock on the message will be renewed automatically by the client. This auto renewal stops once the message is settled.

  • Default: 300 * 1000 milliseconds (5 minutes).
  • To disable autolock renewal, set this to 0.

Example:

If the message lock expires in 2 minutes and your message processing time is 8 minutes...

Set maxAutoLockRenewalDurationInMs to 10 minutes, and the message lock will be automatically renewed for 4 times (equivalent to having the message locked for 4 times its lock duration by leveraging the lock renewals).

maxAutoLockRenewalDurationInMs?: number

Property Value

number

receiveMode

Represents the receive mode for the receiver.

In receiveAndDelete mode, messages are deleted from Service Bus as they are received.

In peekLock mode, the receiver has a lock on the message for the duration specified on the queue/subscription.

Messages that are not settled within the lock duration will be redelivered as many times as the max delivery count set on the queue/subscription, after which they get sent to a separate dead letter queue.

You can settle a message by calling complete(), abandon(), defer() or deadletter() methods on the message.

More information about how peekLock and message settlement works here: https://docs.microsoft.com/azure/service-bus-messaging/message-transfers-locks-settlement#peeklock

receiveMode?: "peekLock" | "receiveAndDelete"

Property Value

"peekLock" | "receiveAndDelete"

skipConvertingDate

Whether to skip converting Date type on properties of message annotations or application properties into numbers when receiving the message. By default, properties of Date type is converted into UNIX epoch number for compatibility.

skipConvertingDate?: boolean

Property Value

boolean

skipParsingBodyAsJson

Option to disable the client from running JSON.parse() on the message body when receiving the message. Not applicable if the message was sent with AMQP body type value or sequence. Use this option when you prefer to work directly with the bytes present in the message body than have the client attempt to parse it.

skipParsingBodyAsJson?: boolean

Property Value

boolean

subQueueType

Represents the sub queue that is applicable for any queue or subscription. Valid values are "deadLetter" and "transferDeadLetter". To learn more about dead letter queues, see https://docs.microsoft.com/azure/service-bus-messaging/service-bus-dead-letter-queues

subQueueType?: "deadLetter" | "transferDeadLetter"

Property Value

"deadLetter" | "transferDeadLetter"