ServiceBusCli 0.0.6-beta

This is a prerelease version of ServiceBusCli.
There is a newer prerelease version of this package available.
See the version list below for details.
dotnet tool install --global ServiceBusCli --version 0.0.6-beta
                    
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 ServiceBusCli --version 0.0.6-beta
                    
This package contains a .NET tool you can call from the shell/command line.
#tool dotnet:?package=ServiceBusCli&version=0.0.6-beta&prerelease
                    
nuke :add-package ServiceBusCli --version 0.0.6-beta
                    

ServiceBusCli

A net global tool helping to interact with azure service bus

Description

In this repo, i m building a cli tool that allows to interact with azure service bus.

The cli tool provide commands to :

<details>

<summary>List queues</summary>

📌 list top max queues : sb q -c dev
📌 list top 10 queues : sb q -c dev -m 10
📌 list all queues : sb q -c dev -a
📌 list all queues sorted by last access date asc : sb q -c dev -a -s LastAccessDate:asc
📌 list all queues sorted by size in megabytes dsc : sb q -c dev -a -s SizeInMegabytes:dsc
📌 list all queues sorted by active messages dsc : sb q -c dev -a -s ActiveMessages:dsc

</details>

<details>

<summary>Filter queues</summary>

📌 filter queues by single keyword : sb q -c dev -f order
📌 filter queues by multiple keywords : sb q -c dev -f email -f sms
📌 filter queues by field ActiveMessages : sb q -c dev -f ActiveMessages:1-10
📌 filter queues by field DeadLetterMessages : sb q -c dev -f DeadLetterMessages:1-10
📌 filter queues by field SizeInMegabytes : sb q -c dev -f SizeInMegabytes:1-10
📌 filter queues by field CreationDate : sb q -c dev -f CreationDate:01/05/2024-01/05/2025
📌 filter queues by field LastAccessDate : sb q -c dev -f LastAccessDate:01/05/2024-01/05/2025

</details>

<details>

<summary>Export queues</summary>

📌 export top max queues : sb q -c dev x
📌 export top 10 queues : sb q -c dev x -m 10
📌 export all queues : sb q -c dev x -a
📌 export all queues sorted by last access date asc : sb q -c dev x -a -s LastAccessDate:asc
📌 export all queues sorted by size in megabytes dsc : sb q -c dev x -a -s SizeInMegabytes:dsc
📌 export all queues sorted by active messages dsc : sb q -c dev x -a -s ActiveMessages:dsc

</details>

<details>

<summary>Get queue info</summary>

📌 get queue info : sb q -c dev -n some-queue-name

</details>

<details>

<summary>Send messages to queue</summary>

📌 send single message to queue : sb q -c dev -n some-queue-name s -p some-message-json-file
📌 send single message to queue after some delay in minutes : sb q -c dev -n some-queue-name s -p some-message-json-file --delay 5
📌 send multiple messages to queue : sb q -c dev -n some-queue-name s -p some-message-json-file --count 10
📌 send multiple messages to queue after some delay in minutes : sb q -c dev -n some-queue-name s -p some-message-json-file --count 10 --delay 5
📌 send multiple messages to queue from directory after some delay in minutes : sb q -c dev -n some-queue-name s -p some-messages-json-directory --delay 5

</details>

<details>

<summary>List dead-letter queues</summary>

📌 list top max dead-letter queues : sb dlq -c dev
📌 list top 10 dead-letter queues : sb dlq -c dev -m 10`
📌 list all dead-letter queues : sb dlq -c dev -a`
📌 list all dead-letter queues sorted by last access date asc : sb dlq -c dev -a -s LastAccessDate:asc
📌 list all dead-letter queues sorted by size in megabytes dsc : sb dlq -c dev -a -s SizeInMegabytes:dsc
📌 list all dead-letter queues sorted by dead letter messages dsc : sb dlq -c dev -a -s DeadLetterMessages:dsc

</details>

<details>

<summary>Filter dead-letter queues</summary>

📌 filter dead-letter queues by single keyword : sb dlq -c dev -f order
📌 filter dead-letter queues by multiple keywords : sb dlq -c dev -f email -f sms
📌 filter dead-letter queues by field ActiveMessages : sb dlq -c dev -f ActiveMessages:1-10
📌 filter dead-letter queues by field DeadLetterMessages : sb dlq -c dev -f DeadLetterMessages:1-10
📌 filter dead-letter queues by field SizeInMegabytes : sb dlq -c dev -f SizeInMegabytes:1-10
📌 filter dead-letter queues by field CreationDate : sb dlq -c dev -f CreationDate:01/05/2024-01/05/2025
📌 filter dead-letter queues by field LastAccessDate : sb dlq -c dev -f LastAccessDate:01/05/2024-01/05/2025

</details>

<details>

<summary>Export dead-letter queues</summary>

📌 export top max dead-letter queues : sb dlq -c dev x
📌 export top 10 dead-letter queues : sb dlq -c dev x -m 10
📌 export all dead-letter queues : sb dlq -c dev x -a
📌 export all dead-letter queues sorted by last access date asc : sb dlq -c dev x -a -s LastAccessDate:asc
📌 export all dead-letter queues sorted by size in megabytes dsc : sb dlq -c dev x -a -s SizeInMegabytes:dsc
📌 export all dead-letter queues sorted by dead-letter messages dsc : sb dlq -c dev x -a -s DeadLetterMessages:dsc

</details>

<details>

<summary>Get dead-letter queue info</summary>

📌 get dead-letter queue info : sb dlq -c dev -n some-queue-name
📌 get dead-letter queue filtered info by text : sb dlq -c dev -n some-queue-name -f SomeException
📌 get dead-letter queue filtered info by date : sb dlq -c dev -n some-queue-name -f 01/04/2025
📌 get dead-letter queue filtered info by date range : sb dlq -c dev -n some-queue-name -f 01/04/2025-01/05/2025
📌 get dead-letter queue filtered info by specific field ErrorType : sb dlq -c dev -n some-queue-name-f ErrorType:SomeException
📌 get dead-letter queue filtered info by specific field ErrorMessage : sb dlq -c dev -n some-queue-name-f ErrorMessage:SomeException
📌 get dead-letter queue filtered info by specific field ErrorDate : sb dlq -c dev -n some-queue-name-f ErrorDate:01/04/2025-01/05/2025

</details>

<details>

<summary>View dead-letter queue messages</summary>

📌 view all dead letter messages : sb dlq -c dev -n some-queue-name v
📌 view filtered dead letter messages by text : sb dlq -c dev -n some-queue-name v -f SomeException
📌 view filtered dead letter messages by date : sb dlq -c dev -n some-queue-name v -f 01/04/2025
📌 view filtered dead letter messages by sequence numbers : sb dlq -c dev -n some-queue-name v -f 100-200
📌 view a specific dead letter message by its sequence number : sb dlq -c dev -n some-queue-name v -f 200

</details>

<details>

<summary>Purge dead-letter queue messages</summary>

📌 purge all dead letter messages : sb dlq -c dev -n some-queue-name p
📌 purge filtered dead letter messages by text : sb dlq -c dev -n some-queue-name p -f SomeException
📌 purge filtered dead letter messages by date : sb dlq -c dev -n some-queue-name p -f 01/04/2025
📌 purge filtered dead letter messages by date range : sb dlq -c dev -n some-queue-name p -f 01/04/2025-01/05/2025
📌 purge filtered dead letter messages by sequence numbers : sb dlq -c dev -n some-queue-name p -f 100-200

</details>

<details>

<summary>Replay dead-letter queue messages</summary>

📌 replay all dead letter messages : sb dlq -c dev -n some-queue-name r
📌 replay all dead letter messages after some delay in minutes : sb dlq -c dev -n some-queue-name r --delay 5
📌 replay all dead letter messages with some ttl in days : sb dlq -c dev -n some-queue-name r --ttl 1
📌 replay filtered dead letter messages by text : sb dlq -c dev -n some-queue-name r -f SomeException
📌 replay filtered dead letter messages by date : sb dlq -c dev -n some-queue-name r -f 01/04/2025
📌 replay filtered dead letter messages by date range : sb dlq -c dev -n some-queue-name r -f 01/04/2025-01/05/2025
📌 replay filtered dead letter messages by sequence numbers : sb dlq -c dev -n some-queue-name r -f 100-200

</details>

<details>

<summary>Export dead-letter queue messages</summary>

📌 export all dead letter messages : sb dlq -c dev -n some-queue-name x
📌 export filtered dead letter messages by text : sb dlq -c dev -n some-queue-name x -f SomeException
📌 export filtered dead letter messages by date : sb dlq -c dev -n some-queue-name x -f 01/04/2025
📌 export filtered dead letter messages by date range : sb dlq -c dev -n some-queue-name x -f 01/04/2025-01/05/2025
📌 export filtered dead letter messages by sequence numbers : sb dlq -c dev -n some-queue-name x -f 100-200

</details>

<details>

<summary>Compare queues between connections</summary>

📌 compare all queues : sb q compare
📌 compare filtered queues : sb q compare -f order
📌 compare only queues with issues : sb q compare --issues
📌 compare only queues with some name : sb q compare -n some-queue-name

</details>

Configuration

The tool is configured using the file appsettings.json located under global tools default installation folders.

The command sb -s allows to display the actual settings and also the exact path for the configuration file.

<details>

<summary>Connections</summary>

🛠️ configure a connection that use connection string : { "ConnectionName": "dev", "ConnectionString": "Endpoint=sb://dev.servicebus.windows.net/;SharedAccessKeyName=keyname;SharedAccessKey=keyvalue" }
🛠️ configure a connection that use default azure credentials : { "ConnectionName": "uat", "FullyQualifiedNamespace": "uat.servicebus.windows.net", "UseDefaultCredentials": true }
🛠️ configure a connection that use interactive azure credentials : { "ConnectionName": "prd", "FullyQualifiedNamespace": "prd.servicebus.windows.net" }

</details>

<details>

<summary>MaxItems</summary>

🛠️ configure max items (used for display commands) : { "MaxItems": 50 }

</details>

<details>

<summary>WorkingDirectory</summary>

🛠️ configure working directory (used for export commands) : { "WorkingDirectory": "C:\\ServiceBusCli" }

</details>

<details>

<summary>ServiceBusThresholds</summary>

🛠️ configure min size percentage to highlight big queues : { "Thresholds": { "SizePercentage": 70 } }
🛠️ configure min last access days to highlight useless queues : { "Thresholds": { "LastAccessDays": 30 } }

</details>

<details>

<summary>CacheExpirationInDays</summary>

🛠️ configure cache expiration in days (used for caching interactive connections) : { "CacheExpirationInDays": 30 }

</details>

Download

To install the tool from nuget source, type command :

  • For stable version : dotnet tool install -g ServiceBusCli --ignore-failed-sources
  • For prerelease version : dotnet tool install -g ServiceBusCli --prerelease --ignore-failed-sources

To update the tool, type command :

  • dotnet tool update -g ServiceBusCli

To uninstall the tool, type command :

  • dotnet tool uninstall -g ServiceBusCli

Notes

🚧 This tool is still under development. 🚧

⚠️ This tool is not open source, it could be in the future, but it's free to use. ⚠️

📢 This tool is provided as is, without any warranty or support. Use it at your own risk. 📢

Product Compatible and additional computed target framework versions.
.NET net9.0 is compatible.  net9.0-android was computed.  net9.0-browser was computed.  net9.0-ios was computed.  net9.0-maccatalyst was computed.  net9.0-macos was computed.  net9.0-tvos was computed.  net9.0-windows was computed.  net10.0 was computed.  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
0.0.7-beta 31 9/9/2025
0.0.6-beta 108 6/6/2025