From 719605d1fee1951e3e80193b2f4d355a58e684e9 Mon Sep 17 00:00:00 2001 From: HarshCasper Date: Tue, 17 Mar 2026 17:17:17 +0530 Subject: [PATCH] add Azure Service Bus(Data Operations/Messaging) service doc --- .../azure/services/service-bus-data-plane.mdx | 190 +++++++++++++++++- 1 file changed, 189 insertions(+), 1 deletion(-) diff --git a/src/content/docs/azure/services/service-bus-data-plane.mdx b/src/content/docs/azure/services/service-bus-data-plane.mdx index 7b561058..51723fea 100644 --- a/src/content/docs/azure/services/service-bus-data-plane.mdx +++ b/src/content/docs/azure/services/service-bus-data-plane.mdx @@ -1,11 +1,199 @@ --- title: "Service Bus Data Plane" -description: API coverage for Microsoft.ServiceBus.DataPlane in LocalStack for Azure. +description: Get started with Azure Service Bus Data Plane on LocalStack template: doc --- import AzureFeatureCoverage from "../../../../components/feature-coverage/AzureFeatureCoverage"; +## Introduction + +Azure Service Bus Data Plane APIs let you operate messaging entities through the namespace endpoint directly. +These APIs are useful for programmatic queue, topic, and subscription operations in integration and messaging workflows. +In LocalStack, they are useful for validating data-plane behavior without calling Azure cloud endpoints. + +LocalStack for Azure provides a local environment for building and testing applications that make use of Azure Service Bus Data Plane APIs. +The supported APIs are available on our [API Coverage section](#api-coverage), which provides information on the extent of Service Bus Data Plane integration with LocalStack. + +## Getting started + +This guide is designed for users new to Service Bus Data Plane APIs and assumes basic knowledge of the Azure CLI and our `azlocal` wrapper script. + +Start your LocalStack container using your preferred method. For more information, see [Introduction to LocalStack for Azure](/azure/getting-started/). + +:::note +As an alternative to using the `azlocal` CLI, users can run: + +`azlocal start-interception` + +This command points the `az` CLI away from the public Azure management REST API and toward the LocalStack for Azure emulator API. +To revert this configuration, run: + +`azlocal stop-interception` + +This reconfigures the `az` CLI to send commands to the official Azure management REST API. At this time, there is no full parity between `azlocal` and `az` commands after running `az start-interception`. Therefore, this technique is not fully interchangeable. +::: + +### Create a resource group + +Create a resource group for your Service Bus resources: + +```bash +azlocal group create \ + --name rg-servicebus-dp-demo \ + --location westeurope +``` + +```bash title="Output" +{ + "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/rg-servicebus-dp-demo", + "location": "westeurope", + "name": "rg-servicebus-dp-demo", + "properties": { + "provisioningState": "Succeeded" + }, + ... +} +``` + +### Create a Service Bus namespace + +Create a namespace and capture its data-plane endpoint: + +```bash +azlocal servicebus namespace create \ + --resource-group rg-servicebus-dp-demo \ + --name sbnsdoc84 \ + --location westeurope \ + --sku Standard +``` + +```bash title="Output" +{ + "name": "sbnsdoc84", + "serviceBusEndpoint": "https://sbnsdoc84.localhost.localstack.cloud:4511", + "provisioningState": "Succeeded", + ... +} +``` + +Store the HTTP endpoint for data-plane REST calls: + +```bash +SB_ENDPOINT="http://sbnsdoc84.localhost.localstack.cloud:4511" +``` + +### Create and inspect a queue entity + +Create a queue via the data-plane Entity `Put` API: + +```bash +curl -s -X PUT "$SB_ENDPOINT/dpqueue?api-version=2017-04" \ + -H "Content-Type: application/atom+xml;type=entry;charset=utf-8" \ + -d 'dpqueue' +``` + +```xml title="Output" + + + dpqueue + + + Active + ... + + + +``` + +Get the queue entity via Entity `Get`: + +```bash +curl -s -X GET "$SB_ENDPOINT/dpqueue?api-version=2017-04" +``` + +```xml title="Output" + + + dpqueue + + + 0 + Active + ... + + + +``` + +### Create and inspect a topic subscription + +Create a topic entity: + +```bash +curl -s -X PUT "$SB_ENDPOINT/dptopic?api-version=2017-04" \ + -H "Content-Type: application/atom+xml;type=entry;charset=utf-8" \ + -d 'dptopic' +``` + +Create a subscription via Subscription `Put`: + +```bash +curl -s -X PUT "$SB_ENDPOINT/dptopic/subscriptions/dpsub?api-version=2017-04" \ + -H "Content-Type: application/atom+xml;type=entry;charset=utf-8" \ + -d 'dpsub' +``` + +```xml title="Output" + + + dpsub + + + Active + 10 + ... + + + +``` + +Get the subscription via Subscription `Get`: + +```bash +curl -s -X GET "$SB_ENDPOINT/dptopic/subscriptions/dpsub?api-version=2017-04" +``` + +```xml title="Output" + + + dpsub + + + 0 + Active + ... + + + +``` + +### Delete subscription and entities + +Delete the subscription via Subscription `Delete`: + +```bash +curl -s -X DELETE "$SB_ENDPOINT/dptopic/subscriptions/dpsub?api-version=2017-04" +``` + +Delete entities via Entity `Delete`: + +```bash +curl -s -X DELETE "$SB_ENDPOINT/dptopic?api-version=2017-04" + +curl -s -X DELETE "$SB_ENDPOINT/dpqueue?api-version=2017-04" +``` + ## API Coverage