AzureServiceBusDLQ 1.0.3

dotnet tool install --global AzureServiceBusDLQ --version 1.0.3
                    
This package contains a .NET tool you can call from the shell/command line.
dotnet new tool-manifest
                    
if you are setting up this repo
dotnet tool install --local AzureServiceBusDLQ --version 1.0.3
                    
This package contains a .NET tool you can call from the shell/command line.
#tool dotnet:?package=AzureServiceBusDLQ&version=1.0.3
                    
nuke :add-package AzureServiceBusDLQ --version 1.0.3
                    

AzureServiceBusDLQ

Installing

dotnet tool install AzureServiceBusDLQ --global

Connecting

Listen claims is required.

Connecting to the azure service bus namespace can be done in two ways:

  • Using a connection string: -c {my connection string}
  • Using a namespace name: -n {my namespace}
    • In this mode DefaultAzureCredentials will be used to authenticate

Listing queues with DLQ/TDLQ messages

In this example using the namespace name:

asb-dlq queues -n my-asb-namespace

Outputs:

  • All queues with at least one DLQ or TDLQ message.

Returns:

  • 0 if no queues contains DLQ/TDLQ messages
  • 1 if at least one queue have DLQ/TDLQ messages

Show DLQ/TDLQ messages for a specific queue

In this example using the namespace name:

asb-dlq queue my-queue -n my-asb-namespace

Outputs:

  • Details of all DLQ and TDLQ messages for the specified queue.

  • Returns:

  • 0 if no DLQ/TDLQ messages exists

  • 1 if at least one DLQ/TDLQ message exists

Retry DLQ messages for a specific queue

Retries DLQ messages by moving them back to the parent queue.

Transactions are used to ensure that retries are atomic.

In this example using the namespace name:

asb-dlq retry-queue my-queue -n my-asb-namespace

Outputs:

  • Message details for retried messages.

  • Returns:

  • 0 if messages where retried successfully or if no DLQ messages where found.

  • 1 if DLQ messages failed to be retried

Move DLQ messages

Moves DLQ messages to the target queue.

Transactions are used to ensure that the move is atomic.

Move single queue with default transformation (see below):

asb-dlq move-dlq-messages my-source-queue my-target-queue -n my-asb-namespace

Using NServiceBus transformation:

asb-dlq move-dlq-messages my-source-queue my-target-queue --transform nservicebus -n my-asb-namespace

Outputs:

  • Message details for moved messages.

Returns:

  • 0 if messages where moved successfully or if no DLQ messages where found.
  • 1 if DLQ messages failed to be moved

Transforms

The move operation will capture metadata about the DLQ message via transformations. The following transformations are available.

Default

Adds the following application properties to the moved message:

  • x-asb-dlq-source-queue: Queue name where the message was dead lettered
  • x-asb-dlq-reason: Dead letter reason
  • x-asb-dlq-description: Dead letter description
NServiceBus

Adds the following application properties to the moved message:

  • NServiceBus.FailedQ: Queue name where the message was dead lettered
  • NServiceBus.ProcessingMachine: This is required by the Particular Platform to proper show the message, defaulted to unknown
  • NServiceBus.ExceptionInfo.ExceptionType: Dead letter reason
  • NServiceBus.ExceptionInfo.Message: Dead letter description
  • NServiceBus.MessageId: Unless already present the native Azure ServiceBus message id will be used as the message id

Microsoft recommends to, where possible, include the exception type in the DLQ reason and stacktrace in the DLQ description.

None

No modifications are done to the moved message.

Product Compatible and additional computed target framework versions.
.NET net10.0 is compatible.  net10.0-android was computed.  net10.0-browser was computed.  net10.0-ios was computed.  net10.0-maccatalyst was computed.  net10.0-macos was computed.  net10.0-tvos was computed.  net10.0-windows was computed. 
Compatible target framework(s)
Included target framework(s) (in package)
Learn more about Target Frameworks and .NET Standard.

This package has no dependencies.

Version Downloads Last Updated
1.0.3 166 12/13/2025
1.0.2 218 4/22/2025
1.0.1 128 4/19/2025
1.0.0 140 4/19/2025
1.0.0-alpha.4 78 4/12/2025
1.0.0-alpha.3 161 4/10/2025
1.0.0-alpha.1 158 4/8/2025
1.0.0-alpha.0.4 151 4/8/2025
1.0.0-alpha.0.3 158 4/8/2025