Service Bus Explorer in Azure Portal

Service Bus Explorer for Azure Portal

If you ever used the Service Bus Explorer (SBE) tool, you can appreciate how handy it is to be able to explore the namespace, inspect individual entities, and perform CRUD operation. It's also extremely handy to be able to perform operations that involve messages. For a long time, the tool was only available for Windows users and there was a long-standing feature request to make the tool cross-platform. The tool is an open-source project and is entirely driven by the volunteered effort. For a long time, the tool was compensating for what Microsoft didn't provide. And, I must admit, was doing a great job, considering its open-source nature and completely voluntary contributions. Until today.

What has changed today? Today, the Azure portal has officially launched Service Bus Explorer in Azure portal. While the name is very similar, do not confuse the two. This is a very early preview with somewhat basic functionality, but a minimum viable product and is a step in the right direction. A very welcomed and long-anticipated addition. But why is it some important? For a few reasons:

  1. It's a Microsoft backed tool with a support guarantee
  2. It's a web-based tool right in the portal, meaning can be run anywhere.
  3. This tool, similar to Storage Explorer, has a chance to potentially become a standalone tool solving the cross-platform ask.

How do I access the tool?

Right now the only way to see the tool is to navigate to one of the entities (Queues or Topics section in the Entities section of the Service Bus blade).

enter image description here

So what can the tool do now?

Queues

Queues can be created and deleted

create queues

It also can be modified. I found it a bit awkward to do that not under 'Service Bus Explorer' section, but rather under 'Properties'.

update queue

This is probably years of using the other SBE tool is talking 🙂

The next big thing is the message operations. This is where it finally closes the gap. For queues, messages can be sent, received, and peeked.

Sending messages allows quick population of custom/user properties as well as system properties by ticking off 'Expand Advanced Properties'. There you'll find Message ID, Label, To, Reply-To, Correlation ID, Schedule time and TTL. send a message

Peeking messages can be done from either the queue or its dead-letter queue.

peek a message

Note: only up-to 32 messages can be peeked at the moment. I hope this restriction will be removed as it's possible to peek more than just 32.

Selecting a single message from the peeked messages list allows closer message inspection, revealing custom headers and broker-set properties.

message properties

Receiving is always done for a single message. Received message can be either from the queue or its dead-letter queue and is ALWAYS performed using ReceiveAndDelete mode.

receive a message

Note: only a single message can be received at this point. Hopefully, this will change and it will be possible to control the number of messages to be retrieved.

Topics

Topics can be created, modified, and deleted in a similar way to the queues. And now, with the SBE for the portal messages can be published to the topics as well.

To publish a message to a topic, there's got to be at least one subscription. Once a subscription is created (see down the post), messages can be posted to the topic. Publishing is identical to the sending a message to a queue.

Peeking and receiving are different though. Whenever messages are picked or received from a topic (which is logically invalid), a subscription is required. And that's because messages should be received and peeked from the subscriptions under the topic, not the topic directly.

receive a message

Subscriptions

Subscriptions are entities that belong to the topics. Creation, modification, and management of subscription is done under the topics section.

A subscription creation allows providing all the parameters.

create a subscription

And under individual subscriptions, there's an option to manage the filters.

Subscription filters/rules

The 'Overview' section of each subscription entity shows also the list of the filters.

filters

The $Default filter, which is by default created with each subscription, will always be there for each new subscription.

When creating a filter, the SBE allows SQL and Correlation filters, with a nice touch of SQL filter validation.

create a filter

Note: filter action cannot be modified at this point.

Existing filters can be inspected and modified.

For Correlation filters, the UI provides a drop-down for the correlation properties and entry fields for the custom header/value pairs.

correlation filter

While in preview, this is an exciting addition to the portal and a great addition to the Azure Service Bus tooling, which was missing for a long time. I'm looking forward to GA-ing of the SBE as well as additional functionality added over the time. It's not on par with any of the other 3rd party tools. And I date to say it doesn't try to replace those. But it's a heck of help to all the developers that need to perform basic operations on the entities and messages. And this tool is going to receive a warm welcome.

4 Comments

  • It would be great to have this functionality as part of Azure Storage Explorer to be honest, even if it is a bit orthogonal to the rest of the functionality in the tool.

  • @james, you can send, peek, and receive messages with Storage Explorer in the portal. There it's called 'Add', 'View', and 'Dequeue'. It also allows clearing (purging) the queue, which I wish was the option for ASB SBE in the portal 🙂

  • Sorry, but integrating in the portal is the wrong way to go. We have xplat products for databases and storage now from Microsoft, SBE is the only one left and for that you need the login to the portal??

    Unfortunately the ‘other tool’ as its stand alone is better, but it will never be xplat as it requires too much effort. This is where Microsoft should have spent the effort to bring it in line with their other tooling.

  • @Graham,
    I think you're missing something important here. Take Storage Explorer. It's a cross-platform implementation that is also used in the portal. Same for the SBE in the portal. The idea is to provide this functionality with a cross-platform tool, which would be also possible to use in the portal.

    The 'other tool' would be a much better story if A) developers would pay for developing the tool or B) contribute. I happened to help with the 'other tool' and it's said that on every PR there are at least several that only raise issues and feature requests. Should Microsoft do something about it? Absolutely. This is where *companies* that are customers should flex the muscle. Until that happens, I don't see any substantial changes taking place any time soon.

Comments have been disabled for this content.