The Azure SDK for .NET is a collection of client and management libraries that enable .NET applications to interact with cloud services through a consistent, well-defined programming model. It provides a unified interface for authenticating, configuring HTTP pipelines, and calling service methods either synchronously or asynchronously, with support for pagination, long-running operations, and structured error handling.
The SDK distinguishes itself through comprehensive authentication options, including connection strings, OAuth token credentials, managed identity, service principals, and developer credentials for local testing. It offers robust testing support through mockable service clients, subclients, long-running operations, and model graphs, all enabled by protected constructors and virtual methods. The SDK also provides configurable HTTP pipeline policies, automatic retry of failed requests with customizable delay and count rules, and proxy routing supporting multiple authentication schemes.
Beyond core service interaction, the SDK covers application hosting, data storage and synchronization, messaging and notifications, monitoring and observability, and automation through serverless event-driven workflows. It includes capabilities for provisioning and managing cloud infrastructure, deploying virtual networks, and hosting applications on managed services with built-in scalability and high availability. The SDK also supports building AI-powered applications that integrate generative AI and large language models for chat, image generation, and agent orchestration.
The libraries are distributed as NuGet packages targeting .NET Standard 2.0, with each package documented through C# XML comments and accompanied by README files and ordered code samples.