|
| 1 | +--- |
| 2 | +title: Use Azure Service Bus Explorer to perform data operations on Service Bus (Preview) |
| 3 | +description: This article provides information on how to use the portal-based Azure Service Bus Explorer to access Azure Service Bus data. |
| 4 | +services: service-bus-messaging |
| 5 | +ms.service: service-bus |
| 6 | +documentationcenter: '' |
| 7 | +author: axisc |
| 8 | + |
| 9 | +ms.topic: conceptual |
| 10 | +ms.date: 03/04/2020 |
| 11 | +ms.author: aschhab |
| 12 | + |
| 13 | +--- |
| 14 | + |
| 15 | +# Use Service Bus Explorer to perform data operations on Service Bus (Preview) |
| 16 | + |
| 17 | +## Overview |
| 18 | + |
| 19 | +Azure Service Bus allows sender and receiver client applications to decouple their business logic with the use of familiar point-to-point (Queue) and publish-subscribe (Topic-Subscription) semantics. |
| 20 | + |
| 21 | +Operations performed on an Azure Service Bus namespace are of two kinds |
| 22 | + * Management Operations - Create, Update, Delete of Service Bus Namespace, Queues, Topics, and Subscriptions. |
| 23 | + * Data Operations - Send to and Receive Messages from Queues, Topics, and Subscriptions. |
| 24 | + |
| 25 | +The Azure Service Bus Explorer expands the portal functionality beyond the management operations to support data operations (Send, Receive, Peek) on the Queues, Topics, and Subscriptions (and their dead letter subentities) - right from the Azure portal itself. |
| 26 | + |
| 27 | +> [!NOTE] |
| 28 | +> This article highlights the functionality of the Azure Service Bus Explorer that lives on the Azure portal. |
| 29 | +> |
| 30 | +> The Azure Service Bus explorer tool is ***not*** the community owned OSS tool [Service Bus Explorer](https://github.com/paolosalvatori/ServiceBusExplorer). |
| 31 | +> |
| 32 | +
|
| 33 | +## Prerequisites |
| 34 | + |
| 35 | +To use the Service Bus Explorer tool, you will need to provision an Azure Service Bus namespace. |
| 36 | + |
| 37 | +Once the Service Bus namespace is provisioned, you need to create a Queue to send and receive message from or a Topic with a Subscription to test out the functionality. |
| 38 | + |
| 39 | +To know more about how to create Queues, Topics and Subscriptions, refer to the below links |
| 40 | + * [Quickstart - Create Queues](service-bus-quickstart-portal.md) |
| 41 | + * [Quickstart - Create Topics](service-bus-quickstart-topics-subscriptions-portal.md) |
| 42 | + |
| 43 | + |
| 44 | +## Using the Service Bus Explorer |
| 45 | + |
| 46 | +To use the Azure Service Bus explorer, you need to navigate to the Service Bus namespace on which you want to perform send, peek, and receive operations. |
| 47 | + |
| 48 | +If you are looking to perform operations against a Queue, pick **'Queues'** from the navigation menu. If you are looking to perform operations against a Topic (and it's related subscriptions), pick **Topics**. |
| 49 | + |
| 50 | +:::image type="content" source="./media/service-bus-explorer/queue-topics-left-navigation.png"alt-text="Entity select"::: |
| 51 | + |
| 52 | +After picking the **'Queues'** or **'Topics'**, pick the specific Queue or Topic. |
| 53 | + |
| 54 | +Select the **'Service Bus Explorer (preview)'** from the left navigation menu |
| 55 | + |
| 56 | +:::image type="content" source="./media/service-bus-explorer/left-navigation-menu-selected.png" alt-text="SB Explorer Left nav menu"::: |
| 57 | + |
| 58 | +### Sending a message to a Queue or Topic |
| 59 | + |
| 60 | +To send a message to a **Queue** or a **Topic**, click on the ***Send*** tab on the Service Bus Explorer. |
| 61 | + |
| 62 | +To compose a message here - |
| 63 | + |
| 64 | +1. Pick the **Content Type** to be either 'Text/Plain', 'Application/Xml' or 'Application/Json'. |
| 65 | +2. Add the message **Content**. Ensure that it matches the **Content Type** set earlier. |
| 66 | +3. Set the **Advanced Properties** (optional) - these include Correlation ID, Message ID, Label, ReplyTo, Time to Live (TTL) and Scheduled Enqueue Time (for Scheduled Messages). |
| 67 | +4. Set the **Custom Properties** - can be any user properties set against a dictionary key. |
| 68 | + |
| 69 | +Once the message has been composed, hit send. |
| 70 | + |
| 71 | +:::image type="content" source="./media/service-bus-explorer/send-experience.png" alt-text="Compose Message"::: |
| 72 | + |
| 73 | +When the send operation is completed successfully, |
| 74 | + |
| 75 | +* If sending to the Queue, **Active Messages** metrics counter will increment. |
| 76 | + |
| 77 | + :::image type="content" source="./media/service-bus-explorer/queue-after-send-metrics.png" alt-text="QueueAfterSendMetrics"::: |
| 78 | + |
| 79 | +* If sending to the Topic, **Active Messages** metrics counter will increment on the Subscription where the message was routed to. |
| 80 | + |
| 81 | + :::image type="content" source="./media/service-bus-explorer/topic-after-send-metrics.png" alt-text="TopicAfterSendMetrics"::: |
| 82 | + |
| 83 | +### Receiving a message from a Queue |
| 84 | + |
| 85 | +The receive function on the Service Bus Explorer permits receiving a single message at a time. The receive operation is performed using the **ReceiveAndDelete** mode. |
| 86 | + |
| 87 | +> [!IMPORTANT] |
| 88 | +> Please note that the Receive operation performed by the Service Bus explorer is a ***destructive receive***, i.e. the message is removed from the queue when it is displayed on the Service Bus Explorer tool. |
| 89 | +> |
| 90 | +> To browse messages without removing them from the queue, consider using the ***Peek*** functionality. |
| 91 | +> |
| 92 | +
|
| 93 | +To receive a message from a Queue (or its deadletter subqueue) |
| 94 | + |
| 95 | +1. Click on the ***Receive*** tab on the Service Bus Explorer. |
| 96 | +2. Check the metrics to see if there are **Active Messages** or **Dead-lettered Messages** to receive. |
| 97 | + |
| 98 | + :::image type="content" source="./media/service-bus-explorer/queue-after-send-metrics.png" alt-text="QueueAfterSendMetrics"::: |
| 99 | + |
| 100 | +3. Pick between the ***Queue*** or the ***Deadletter*** subqueue. |
| 101 | + |
| 102 | + :::image type="content" source="./media/service-bus-explorer/queue-or-deadletter.png" alt-text="QueueOrDeadletter"::: |
| 103 | + |
| 104 | +4. Click the ***Receive*** button, followed by ***Yes*** to confirm the 'Receive and Delete' operation. |
| 105 | + |
| 106 | + |
| 107 | +When the receive operation is successful, the message details will display on the grid as below. You can select the message from the grid to display its details. |
| 108 | + |
| 109 | +:::image type="content" source="./media/service-bus-explorer/receive-message-from-queue-2.png" alt-text="ReceiveMessageFromQueue"::: |
| 110 | + |
| 111 | + |
| 112 | +### Peeking a message from a Queue |
| 113 | + |
| 114 | +With the peek functionality, you can use the Service Bus Explorer to view the top 32 messages on a queue or the deadletter queue. |
| 115 | + |
| 116 | +1. To peek the message on a queue, click on the ***Peek*** tab on the Service Bus Explorer. |
| 117 | + |
| 118 | + :::image type="content" source="./media/service-bus-explorer/peek-tab-selected.png" alt-text="PeekTab"::: |
| 119 | + |
| 120 | +2. Check the metrics to see if there are **Active Messages** or **Dead-lettered Messages** to peek. |
| 121 | + |
| 122 | + :::image type="content" source="./media/service-bus-explorer/queue-after-send-metrics.png" alt-text="QueueAfterSendMetrics"::: |
| 123 | + |
| 124 | +3. Then pick between the ***Queue*** or the ***Deadletter*** subqueue. |
| 125 | + |
| 126 | + :::image type="content" source="./media/service-bus-explorer/queue-or-deadletter.png" alt-text="QueueOrDeadletter"::: |
| 127 | + |
| 128 | +4. Click the ***Peek*** button. |
| 129 | + |
| 130 | +Once the peek operation completes, up to 32 messages will show up on the grid as below. To view the details of a particular message, select it from the grid. |
| 131 | + |
| 132 | +:::image type="content" source="./media/service-bus-explorer/peek-message-from-queue-2.png" alt-text="PeekMessageFromQueue"::: |
| 133 | + |
| 134 | +> [!NOTE] |
| 135 | +> |
| 136 | +> Since peek is not a destructive operation the message **will not** be removed from the queue. |
| 137 | +> |
| 138 | +
|
| 139 | +### Receiving a message from a Subscription |
| 140 | + |
| 141 | +Just like with a queue, the ***Receive*** operation can be performed against a subscription (or its deadletter entity). However, since a Subscription lives within the context of the Topic, the receive operation is performed by navigating to the Service Bus Explorer for a given Topic. |
| 142 | + |
| 143 | +> [!IMPORTANT] |
| 144 | +> Please note that the Receive operation performed by the Service Bus explorer is a ***destructive receive***, i.e. the message is removed from the queue when it is displayed on the Service Bus Explorer tool. |
| 145 | +> |
| 146 | +> To browse messages without removing them from the queue, consider using the ***Peek*** functionality. |
| 147 | +> |
| 148 | +
|
| 149 | +1. Click on the ***Receive*** tab and select the specific ***Subscription*** from the dropdown selector. |
| 150 | + |
| 151 | + :::image type="content" source="./media/service-bus-explorer/receive-subscription-tab-selected.png" alt-text="ReceiveTabSelected"::: |
| 152 | + |
| 153 | +2. Pick between the ***Subscription*** or the ***DeadLetter*** sub-entity. |
| 154 | + |
| 155 | + :::image type="content" source="./media/service-bus-explorer/subscription-or-deadletter.png" alt-text="SubscriptionOrDeadletter"::: |
| 156 | + |
| 157 | +3. Click the ***Receive*** button, followed by ***Yes*** to confirm the 'Receive and Delete' operation. |
| 158 | + |
| 159 | +When the receive operation is successful, the received message will display on the grid as below. To view the message details, click on the message. |
| 160 | + |
| 161 | +:::image type="content" source="./media/service-bus-explorer/receive-message-from-subscription.png" alt-text="ReceiveMessageFromQueue"::: |
| 162 | + |
| 163 | +### Peeking a message from a Subscription |
| 164 | + |
| 165 | +To simply browse the messages on a Subscription or its deadletter sub-entity, the ***Peek*** functionality can be utilized on the Subscription as well. |
| 166 | + |
| 167 | +1. Click on the ***Peek*** tab and select the specific ***Subscription*** from the dropdown selector. |
| 168 | + |
| 169 | + :::image type="content" source="./media/service-bus-explorer/peek-subscription-tab-selected.png" alt-text="PeekTabSelected"::: |
| 170 | + |
| 171 | +2. Pick between the ***Subscription*** or the ***DeadLetter*** subentity. |
| 172 | + |
| 173 | + :::image type="content" source="./media/service-bus-explorer/subscription-or-deadletter.png" alt-text="SubscriptionOrDeadletter"::: |
| 174 | + |
| 175 | +3. Click the ***Peek*** button. |
| 176 | + |
| 177 | +Once the peek operation completes, up to 32 messages will show up on the grid as below. To view the details of a particular message, select it from the grid. |
| 178 | + |
| 179 | +:::image type="content" source="./media/service-bus-explorer/peek-message-from-subscription.png" alt-text="PeekMessageFromSubscription"::: |
| 180 | + |
| 181 | +> [!NOTE] |
| 182 | +> |
| 183 | +> Since peek is not a destructive operation the message **will not** be removed from the queue. |
| 184 | +> |
| 185 | +
|
| 186 | +## Next Steps |
| 187 | + |
| 188 | + * Learn more about Service Bus [Queues](service-bus-queues-topics-subscriptions.md#queues) and [Topics](service-bus-queues-topics-subscriptions.md#topics-and-subscriptions) |
| 189 | + * Learn more about creating [Service Bus Queues via the Azure portal](service-bus-quickstart-portal.md) |
| 190 | + * Learn more about creating [Service Bus Topics and Subscriptions via the Azure portal](service-bus-quickstart-topics-subscriptions-portal.md) |
0 commit comments