Dev & Engineering ✓ Microsoft · Official azure-service-busrustmessage-queuespub-subazure-identityrbactokio

Azure Service Bus for Rust

Guides Rust developers in sending and receiving Azure Service Bus messages through queues, topics, and subscriptions.

FollowSkills review · FSRS-2.0
Use with care
47/ 100 5-point scale 2.4 / 5
1 2 3 4 5 6
1Trust14 / 25 · 2.8/5

The document requires the official crate, discourages hardcoded credentials, and provides DeveloperToolsCredential/ManagedIdentityCredential guidance plus scoped RBAC roles. However, sending, receiving, and completing messages create external state changes without explicit user confirmation, and it omits data-flow disclosure, sensitive-data handling, idempotency, rollback, and recovery guidance, so points are deducted.

2Reliability7 / 20 · 1.8/5

Installation, authentication, queue/topic/subscription, and settlement flows are internally consistent, and examples propagate errors with Result. However, the crate is explicitly early-stage, with no guidance for retries, lock expiry, dead-lettering, connection failures, or abnormal inputs, and no skill-specific test evidence is supplied; the static score is therefore limited.

3Adaptability8 / 15 · 2.7/5

Triggers, Rust audience, and queue/topic/subscription scenarios are reasonably clear. Non-fit ranges, API/version boundaries, input/output contracts, and environment requirements are not defined, and Chinese-language support is absent. The core function depends on network access to Azure Service Bus, whose mainland-China reachability is not established by the supplied material, so points are deducted.

4Convention8 / 15 · 2.7/5

The document has clear sections for installation, environment variables, authentication, workflows, RBAC, practices, references, MIT licensing, and author metadata. It lacks concrete version-pinning examples, changelog, maintenance ownership and update path, troubleshooting, and fuller limitations; the scope of the instruction not to edit Cargo.toml is also unexplained.

5Effectiveness6 / 15 · 2.0/5

The material covers the core send, receive, topic, and subscription tasks and offers directly useful starting snippets. However, the crate is explicitly unsuitable for production, while the examples omit complete configuration, lifecycle management, retries, and production reliability handling. Static evidence does not establish compilation or complete outcomes, so the score remains within the static ceiling.

6Verifiability4 / 10 · 2.0/5

The skill supplies docs.rs, crates.io, and Azure SDK source references, with repository-level CI/test material providing limited corroboration. The supplied evidence does not show skill-specific tests, build results, or independent reproduction, and nothing was executed in this review, so a higher score is not justified.

Evidence confidence:Low Reviewed Jul 20, 2026 Reviewed revision 9ccaf7c3704a
Before you use it
  • The crate is explicitly in early development and should not be used directly in production; verify and pin the actual version and API before adoption.
  • Sending, completing, and abandoning messages change external state; add confirmation boundaries, idempotency, retries, lock renewal, dead-letter, audit, and recovery policies before deployment.
  • Do not log message bodies or credentials, and verify Azure Service Bus reachability in the target network environment.
See the full review method →

What does this skill do, and when should you use it?

This skill is for Rust applications that use Azure Service Bus for enterprise messaging. It covers installation, identity-based authentication, queue and topic workflows, subscription receivers, and message settlement. It recommends the official azure_messaging_servicebus crate and explains the relevant Entra ID roles. The crate is in early development and should not be used in production because its APIs may change.

Shows how to install azure_messaging_servicebus, azure_identity, and tokio with cargo add; configure SERVICEBUS_NAMESPACE; create a ServiceBusClient with DeveloperToolsCredential or ManagedIdentityCredential; create senders and receivers for queues, topics, and subscriptions; send messages; receive batches; inspect message bodies; complete successfully processed messages; abandon messages for retry; and assign Service Bus Data Sender, Data Receiver, or Data Owner roles.

  1. A Rust application needs to send work items to an Azure Service Bus queue and uses a sender to publish Message values.
  2. A Rust worker needs to receive several queue messages, process them, and complete them to prevent redelivery.
  3. Several consumers need the same published messages, so the application uses a topic with subscriptions for fan-out delivery.
  4. A developer needs local Azure authentication with DeveloperToolsCredential, while a production design would use ManagedIdentityCredential instead.

What are this skill's strengths and limitations?

Pros
  • Covers queues, topics, subscriptions, sending, receiving, and settlement semantics.
  • Uses the official crate and documents authentication, RBAC, and credential-handling practices.
  • Includes copyable asynchronous Rust examples.
  • Distinguishes local development credentials from production managed identity.
Limitations
  • The azure_messaging_servicebus crate is explicitly early-development software and should not be used in production.
  • APIs may change, and the source provides no stability guarantee or compatibility matrix.
  • The source does not show a dedicated test suite or platform-coverage evidence for this skill.
  • Azure resources, network access, and appropriate permissions are required; pricing is not documented.

How do you install this skill?

Run npx skills add microsoft/skills and select this skill in the installation wizard for the target agent. Alternatively, clone the collection and copy .github/plugins/azure-sdk-rust/skills/azure-servicebus-rust/ into the target agent skills directory. Add project dependencies with: cargo add azure_messaging_servicebus azure_identity tokio. Add azure_core only if the project directly imports azure_core types.

How do you use this skill?

Use a trigger such as "service bus rust", "ServiceBusClient rust", "send message servicebus rust", "receive message servicebus rust", "queue rust messaging", or "topic subscription rust". Provide the Service Bus namespace and the relevant queue, topic, or subscription, then request a send, receive, or subscription workflow. Set SERVICEBUS_NAMESPACE=<namespace>.servicebus.windows.net and ensure the identity has the required Azure Service Bus data role.

FAQ

Is this skill suitable for production systems?
No. The SKILL.md explicitly says the crate is in early development and should not be used in production because APIs may change.
Which Azure permissions are required?
Use Azure Service Bus Data Sender to send, Data Receiver to receive, and Data Owner for full access.
What happens if message processing fails?
Complete successfully processed messages with complete_message. Abandoning a message releases its lock and makes it available for retry.
Does the source specify a cost?
No. It specifies the required Service Bus namespace and identity permissions but provides no pricing information.

More skills from this repository

All from microsoft/agent-skills

Dev & Engineering ✓ Microsoft · Official

Azure Service Bus for TypeScript

Build enterprise messaging workflows with Azure Service Bus.

Dev & Engineering ✓ Microsoft · Official

Azure Service Bus for Python

Practical Python guidance for reliable Azure Service Bus queues and publish-subscribe messaging.

Dev & Engineering ✓ Microsoft · Official

Azure Service Bus for .NET

Guides .NET teams in building reliable Azure enterprise messaging workflows.

Dev & Engineering ✓ Microsoft · Official

Azure Queue Storage for Rust

A focused guide for building secure Azure Queue Storage messaging workflows in Rust.

Dev & Engineering ✓ Microsoft · Official

Azure Key Vault Secrets for Rust

Guides Rust applications in securely storing and managing passwords, API keys, and connection strings in Azure Key Vault.

Dev & Engineering ✓ Microsoft · Official

Azure Web PubSub for Python

Build Azure WebSocket messaging and publish-subscribe workflows for Python applications.

Dev & Engineering ✓ Microsoft · Official

Azure Identity for Rust

Configure Microsoft Entra ID authentication for Azure SDK clients written in Rust.

Dev & Engineering ✓ Microsoft · Official

Azure Blob Storage for Rust

Guides Rust developers through official Azure SDK patterns for managing blobs and containers.

Dev & Engineering ✓ Microsoft · Official

Azure Identity for Python

A practical skill for securing Python Azure applications with Microsoft Entra ID credentials.

Dev & Engineering ✓ Microsoft · Official

Azure Identity for TypeScript

Configure secure, flexible Microsoft Entra ID authentication for TypeScript Azure applications.

Dev & Engineering ✓ Microsoft · Official

Azure Queue Storage for Python

Gives coding agents reliable Python patterns for secure Azure Queue Storage messaging and asynchronous task processing.

Dev & Engineering ✓ Microsoft · Official

Azure Bot Service Python Manager

Create, manage, and configure Azure Bot Service resources and channels from Python.

Dev & Engineering ✓ Microsoft · Official

Azure Identity for Java

Configure secure Microsoft Entra ID authentication for Java applications using Azure SDKs.

Dev & Engineering ✓ Microsoft · Official

Azure Identity for .NET

Guides .NET applications in authenticating Azure SDK clients with Microsoft Entra ID.

Dev & Engineering ✓ Microsoft · Official

Azure Bot Service ARM SDK for .NET

Helps .NET developers provision Azure Bots and configure their channels through ARM.

Dev & Engineering ✓ Microsoft · Official

Azure Web PubSub Real-Time Messaging

Build TypeScript WebSocket messaging, group communication, and live notification features with Azure Web PubSub.

Dev & Engineering ✓ Microsoft · Official

Azure Event Grid for Java

A practical Java SDK guide for publishing, consuming, and handling Azure Event Grid events.

Automation & Ops ✓ Microsoft · Official

Azure Deployment Validator

Preflight Azure deployments by checking configuration, infrastructure, permissions, prerequisites, and builds.

Automation & Ops ✓ Microsoft · Official

Azure Deployment Runner

Execute Azure deployments for prepared, validated applications with built-in checks and recovery.

Dev & Engineering ✓ Microsoft · Official

Azure Cosmos DB ARM for .NET

Provision and manage Azure Cosmos DB resources from .NET through ARM.

Related skills