Operational Scripting
In order to provision or de-provision the resources required by an endpoint, the asb-transport
command line (CLI) tool can be used.
The tool can be obtained from NuGet and installed using the following command:
dotnet tool install -g NServiceBus.Transport.AzureServiceBus.CommandLine
Once installed, the asb-transport
command line tool will be available for use.
asb-transport
Available commands
endpoint create
endpoint subscribe
endpoint unsubscribe
queue create
queue delete
asb-transport endpoint create
Create a new endpoint using:
asb-transport endpoint create name
[--size]
[--partitioned]
[--topic]
[--subscription]
options
-c
| --connection-string
: Overrides the environment variable 'AzureServiceBus_ConnectionString'
-s
| --size
: Queue size in GB (defaults to 5)
-p
| --partitioned
: Enable partitioning
-t
| --topic
: Topic name (defaults to 'bundle-1')
-b
| --subscription
: Subscription name (defaults to endpoint name)
asb-transport endpoint subscribe
Create a new subscription for an endpoint using:
asb-transport endpoint subscribe name event-type
[--topic]
[--subscription]
[--rule-name]
Options
-c
| --connection-string
: Overrides the environment variable 'AzureServiceBus_ConnectionString'
-t
| --topic
: Topic name (defaults to 'bundle-1')
-b
| --subscription
: Subscription name (defaults to endpoint name)
-r
| --rule-name
: Rule name (defaults to event type)
asb-transport endpoint unsubscribe
Delete a subscription for an endpoint using:
asb-transport endpoint unsubscribe name event-type
[--topic]
[--subscription]
[--rule-name]
Options
-c
| --connection-string
: Overrides the environment variable 'AzureServiceBus_ConnectionString'
-t
| --topic
: Topic name (defaults to 'bundle-1')
-b
| --subscription
: Subscription name (defaults to endpoint name)
-r
| --rule-name
: Rule name (defaults to event type)
asb-transport queue create
Create a queue using:
asb-transport queue create name
[--size]
[--partitioned]
options
-c
| --connection-string
: Overrides the environment variable 'AzureServiceBus_ConnectionString'
-s
| --size
: Queue size in GB (defaults to 5)
-p
| --partitioned
: Enable partitioning
asb-transport queue delete
Delete a queue using:
asb-transport queue delete name
options
-c
| --connection-string
: Overrides the environment variable 'AzureServiceBus_ConnectionString'
Examples
Provisioning the audit and the error queues
asb-transport queue create audit -c "<connection-string>"
asb-transport queue create error -c "<connection-string>"
Provisioning endpoints
Create the topology for an endpoint named MyEndpoint
using the default settings:
asb-transport endpoint create MyEndpoint -c "<connection-string>"
Create the topology for an endpoint named MyEndpoint
and override the topic name to be custom-topic
and the subscription name to be my-endpoint
:
asb-transport endpoint create MyEndpoint -t custom-topic -s my-endpoint -c "<connection-string>"
Subscribing to events
Subscribe MyOtherEndpoint
to the event Contracts.
using the default settings:
asb-transport endpoint subscribe MyOtherEndpoint Contracts.Events.SomeEvent -c "<connection-string>"
Subscribe MyOtherEndpoint
to the event Contracts.
and override the topic name to be custom-topic
:
asb-transport endpoint subscribe MyOtherEndpoint Contracts.Events.SomeEvent -t custom-topic -c "<connection-string>"
Subscribe MyOtherEndpoint
to the event Contracts.
and override the subscription name to be my-other-endpoint
asb-transport endpoint subscribe MyOtherEndpoint Contracts.Events.SomeEvent -s my-other-endpoint -c "<connection-string>"
Subscribe MyOtherEndpoint
to the event Contracts.
and override the subscription rule name to be SomeEvent
:
asb-transport endpoint subscribe MyOtherEndpoint Contracts.Events.SomeEvent -r SomeEvent -c "<connection-string>"