Azure / Azure/azure-sdk-for-rust

[Service Bus] Add an administration client

Open
#4,954 0 comments 1 reaction 0 assignees View on GitHub
Client feature-request Service Bus
Dominant language
Rust
Stars
884
Forks
365
Avg merge
2d 19h
Merged PRs (30d)
112

Description

## Summary

There is no administration client. Queues, topics, subscriptions, and rules cannot be created, read, updated, or deleted.

## Motivation

`ServiceBusAdministrationClient` is an HTTP client over the ATOM management protocol, and it is a different transport from everything else in the crate. It covers create, update, get, delete, and exists for queues, topics, subscriptions, and rules, plus runtime properties for each and `GetNamespaceProperties`. It needs Manage claims.

Namespace creation is the ARM control plane and stays out of scope.

Where it ships is open. .NET puts it in the same assembly. Go puts it in an `admin` sub-package. A separate crate keeps the AMQP crate free of an HTTP and XML dependency.

## Proposal

- Decide first whether this ships in `azure_messaging_servicebus` or in its own crate, and record the decision on the root issue.
- Implement the entity CRUD and the runtime properties over the ATOM protocol.
- Reuse the `azure_core` HTTP pipeline rather than the AMQP stack.

## Dependencies

Blocked by:

- #4938 [Service Bus] Replace ServiceBusError with azure_core::Error and a failure reason

Sub-issue of #4934.

Contributor guide

Open the contributing guide

Research direction

Start by resolving whether the administration client belongs in azure_messaging_servicebus or a separate crate, then review the existing Service Bus crate and the azure_core HTTP pipeline. Track dependency #4938 before implementing the ATOM management operations; done means CRUD and runtime properties for queues, topics, subscriptions, and rules, plus namespace properties and existence checks.

Written by the indexing model from the issue text.

Assessment

Tech stack
azure, rust
Domain
backend-api-design, cloud
Issue type
Feature
Difficulty
5/5
Estimated time
Over a week
Activity status
Quiet
Clarity
Mostly clear
Newbie friendliness
30/100

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.