Official Rust SDK for interacting with Microsoft Azure cloud services, providing idiomatic Rust APIs for Azure resources.
Azure SDK for Rust is the official Microsoft library that provides Rust developers with programmatic access to Azure cloud services. It consists of a collection of crates, each corresponding to a specific Azure service like Key Vault, Storage, or Identity, enabling developers to manage Azure resources directly from Rust applications. The SDK solves the problem of integrating Azure's cloud capabilities into Rust-based systems with idiomatic, type-safe APIs.
Rust developers building applications that need to interact with Microsoft Azure services, such as backend services, cloud automation tools, or infrastructure management systems. It's also relevant for teams migrating existing Azure workloads to Rust or starting new cloud-native projects in Rust.
Developers choose this SDK because it's the official Microsoft-supported solution for Azure in Rust, ensuring reliability and alignment with Azure's service updates. Its modular, crate-based design allows for lightweight dependencies, and its idiomatic Rust APIs provide a familiar and type-safe development experience compared to generic HTTP clients.
This repository is for the active development of the Azure SDK for Rust. For consumers of the SDK we recommend visiting Docs.rs and looking up the docs for any of libraries in the SDK.
Open-Awesome is built by the community, for the community. Submit a project, suggest an awesome list, or help improve the catalog on GitHub.
As the official SDK, it receives direct updates and maintenance from Microsoft, ensuring alignment with Azure service changes and reliable long-term support.
Each Azure service is a separate crate on crates.io, allowing developers to include only necessary dependencies, reducing binary bloat and compilation overhead.
Designed with Rust conventions in mind, offering type-safe interfaces that integrate smoothly with Rust's ownership model and error handling patterns.
Feature requests and design discussions are open on GitHub, enabling users to prioritize new features and influence the SDK's evolution through voting and feedback.
The README explicitly warns that large breaking changes may occur before version 1.0, making it unsuitable for production code that cannot tolerate frequent, disruptive updates.
Disabling default telemetry requires implementing a custom Policy trait with async code, as shown in the README example, adding unnecessary complexity for privacy-focused applications.
Most crates depend on async runtimes like tokio, which can introduce additional setup and learning curve for teams unfamiliar with Rust's async patterns or preferring synchronous code.