Skip to content

cortside/amqptools

Repository files navigation

Build status Quality Gate Status Coverage

amqptools

CLI tools for interacting with service bus queues.

Install

dotnet tool install --global AmqpTools
dotnet tool install --global AmqpTools --version <version>

amqptools.json

{
  "environments": [
    {
      "name": "prod",
      "key": "secret=",
      "namespace": "acme-prod.servicebus.windows.net",
      "policyname": "SendListen"
    },
    {
      "name": "dev",
      "key": "secret=",
      "namespace": "acme-dev.servicebus.windows.net",
      "policyname": "SendListen"
    }
  ]
}

Commands

Will show available and required options

dotnet amqptools --help
dotnet amqptools <command> --help

delete

dotnet amqptools delete --config c:\path\to\amqptools.json --environment dev -q shoppingcart.queue --messageType deadletter --messageId ca097856-295c-49d4-a0c1-86e4806c17e7

peek

dotnet amqptools peek --config c:\path\to\amqptools.json --environment dev -q shoppingcart.queue --messageType deadletter --count 10

shovel

$policyname = "SendListen"
$namespace = "acme.servicebus.windows.net"
$key = "secret=="
$queue = "shoppingcart.queue"

dotnet amqptools shovel --queue $queue --namespace $namespace --policyname=$policyname --key=$key
dotnet amqptools shovel shovel --config c:\path\to\amqptools.json --environment dev -q shoppingcart.queue --max 10 --verbose

publish

$policyname = "SendListen"
$namespace = "acme.servicebus.windows.net"
$key = "secret=="
$queue = "shoppingcart.queue"
$event = "Acme.ShoppingCartUpdatedEvent"

dotnet amqptools publish --queue $queue --namespace $namespace --policyname=$policyname --key=$key --eventtype $event --data '{\"ShoppingCartResourceId\":\"e25d2090-d890-4b8a-a904-5feebf4b6436\"}'
dotnet amqptools publish --config c:\path\to\amqptools.json --environment dev -q shoppingcart.queue --eventtype "Acme.DomainEvent.Events.ShoppingCartCreationEvent" --data '{\"ShoppingCartResourceId\":\"e25d2090-d890-4b8a-a904-5feebf4b6436\"}'

OR

dotnet amqptools publish --queue $queue --namespace $namespace --policyname=$policyname --key=$key --eventtype $event --file "event.json"
dotnet amqptools publish --config c:\path\to\amqptools.json --environment dev -q shoppingcart.queue --eventtype "Acme.DomainEvent.Events.ShoppingCartCreationEvent" --file "event.json"

queue

$policyname = "SendListen"
$namespace = "acme.servicebus.windows.net"
$key = "secret=="
$queue = "shoppingcart.queue"

dotnet amqptools queue --queue $queue --namespace $namespace --policyname=$policyname --key=$key
dotnet amqptools queue --config c:\path\to\amqptools.json --environment dev -q shoppingcart.queue

Output:

{
  "Path": "onlineapplication.queue",
  "MessageCount": 6,
  "MessageCountDetails": {
    "ActiveMessageCount": 0,
    "DeadLetterMessageCount": 6,
    "ScheduledMessageCount": 0,
    "TransferMessageCount": 0,
    "TransferDeadLetterMessageCount": 0
  },
  "SizeInBytes": 807,
  "CreatedAt": "2023-02-15T21:27:27.202248",
  "UpdatedAt": "2024-08-09T04:02:57.2991904",
  "AccessedAt": "2025-03-26T02:14:33.6177786"
}

About

AMQP 1.0 message shovel

Resources

License

Stars

Watchers

Forks

Packages

 
 
 

Contributors