# azure/azure-sdk-for-net architecture

> Architecture diagram of the GitHub repository azure/azure-sdk-for-net, generated by GitDiagram from its file tree, README and a sample of source files (last updated 2026-09-25). It is an AI-made overview: check details against the source.

- Interactive diagram: https://gitdiagram.com/azure/azure-sdk-for-net
- Repository: https://github.com/azure/azure-sdk-for-net

## Overview

This is the Azure SDK for .NET: service-specific libraries let application developers call Azure services through shared client capabilities, while management libraries expose resource operations. The tree also shows a separate Agent Server task/storage runtime and code-generation packages. The principal client path is supported by the sampled Inference client; other service implementations are not sampled, so their internal wiring is not inferred.

Main entry points: [`sdk/ai/Azure.AI.Inference/src/Customized/EmbeddingsClient.cs`](https://github.com/azure/azure-sdk-for-net/blob/main/sdk/ai/Azure.AI.Inference/src/Customized/EmbeddingsClient.cs) (HTTP pipeline), [`sdk/billingbenefits/Azure.ResourceManager.BillingBenefits/api/Azure.ResourceManager.BillingBenefits.net10.0.cs`](https://github.com/azure/azure-sdk-for-net/blob/main/sdk/billingbenefits/Azure.ResourceManager.BillingBenefits/api/Azure.ResourceManager.BillingBenefits.net10.0.cs) (Management libraries), [`sdk/agentserver/Azure.AI.AgentServer.Core/src/Tasks/Engine/TaskEngine.cs`](https://github.com/azure/azure-sdk-for-net/blob/main/sdk/agentserver/Azure.AI.AgentServer.Core/src/Tasks/Engine/TaskEngine.cs) (Task engine), [`sdk/agentserver/Azure.AI.AgentServer.Responses/src/Internal/FoundryStorageProvider.cs`](https://github.com/azure/azure-sdk-for-net/blob/main/sdk/agentserver/Azure.AI.AgentServer.Responses/src/Internal/FoundryStorageProvider.cs) (Foundry storage provider)

## Diagram (Mermaid)

```mermaid
flowchart TD

subgraph group_client["Service clients"]
  node_inference["Inference clients"]
  node_image_embeddings["Image embeddings"]
  node_client_pipeline["HTTP pipeline"]
  node_storage_key["Storage credentials"]
end

subgraph group_management["Resource management"]
  node_management_libraries["Management libraries"]
  node_alert_models["Alert rule models"]
end

subgraph group_agent["Agent runtime"]
  node_task_engine["Task engine<br/>[TaskEngine.cs]"]
  node_task_store[("Task store<br/>[TaskEngine.cs]")]
  node_storage_endpoint["Storage endpoint"]
  node_storage_provider["Foundry storage provider"]
end

subgraph group_generation["SDK generation"]
  node_mgmt_emitter["Management emitter<br/>[emitter.ts]"]
  node_mgmt_generator["Management generator"]
  node_provisioning_generator["Provisioning generator"]
end

node_developer(("Application developer"))
node_azure_service{{"Azure AI service"}}
node_arm_service{{"Azure Resource Manager"}}
node_foundry_storage{{"Foundry storage API"}}

node_developer -->|"calls client"| node_inference
node_inference -->|"sends requests"| node_client_pipeline
node_image_embeddings -->|"sends requests"| node_client_pipeline
node_client_pipeline -->|"HTTP requests"| node_azure_service
node_developer -->|"calls client"| node_management_libraries
node_management_libraries -->|"manages resources"| node_arm_service
node_developer -->|"submits tasks"| node_task_engine
node_task_engine -->|"reads and writes"| node_task_store
node_storage_endpoint -->|"configures endpoint"| node_storage_provider
node_storage_provider -->|"sends storage requests"| node_foundry_storage

click node_inference "https://github.com/azure/azure-sdk-for-net/blob/main/sdk/ai/Azure.AI.Inference/src/Customized/EmbeddingsClient.cs"
click node_image_embeddings "https://github.com/azure/azure-sdk-for-net/blob/main/sdk/ai/Azure.AI.Inference/src/ImageEmbeddingsClient.cs"
click node_client_pipeline "https://github.com/azure/azure-sdk-for-net/blob/main/sdk/ai/Azure.AI.Inference/src/Customized/EmbeddingsClient.cs"
click node_storage_key "https://github.com/azure/azure-sdk-for-net/blob/main/sdk/batch/Microsoft.Azure.Batch/src/AzureStorageAuthenticationKey.cs"
click node_management_libraries "https://github.com/azure/azure-sdk-for-net/blob/main/sdk/billingbenefits/Azure.ResourceManager.BillingBenefits/api/Azure.ResourceManager.BillingBenefits.net10.0.cs"
click node_alert_models "https://github.com/azure/azure-sdk-for-net/blob/main/sdk/alertsmanagement/Azure.ResourceManager.PreviewAlertRule/api/Azure.ResourceManager.PreviewAlertRule.net10.0.cs"
click node_task_engine "https://github.com/azure/azure-sdk-for-net/blob/main/sdk/agentserver/Azure.AI.AgentServer.Core/src/Tasks/Engine/TaskEngine.cs"
click node_task_store "https://github.com/azure/azure-sdk-for-net/blob/main/sdk/agentserver/Azure.AI.AgentServer.Core/src/Tasks/Engine/TaskEngine.cs"
click node_storage_endpoint "https://github.com/azure/azure-sdk-for-net/blob/main/sdk/agentserver/Azure.AI.AgentServer.Core/src/Storage/FoundryStorageEndpoint.cs"
click node_storage_provider "https://github.com/azure/azure-sdk-for-net/blob/main/sdk/agentserver/Azure.AI.AgentServer.Responses/src/Internal/FoundryStorageProvider.cs"
click node_mgmt_emitter "https://github.com/azure/azure-sdk-for-net/blob/main/eng/packages/http-client-csharp-mgmt/emitter/src/emitter.ts"
click node_mgmt_generator "https://github.com/azure/azure-sdk-for-net/blob/main/eng/packages/http-client-csharp-mgmt/generator/Azure.Generator.Management/src/ManagementClientGenerator.cs"
click node_provisioning_generator "https://github.com/azure/azure-sdk-for-net/blob/main/eng/packages/http-client-csharp-provisioning/generator/Azure.Generator.Provisioning/src/ProvisioningGenerator.cs"

classDef toneNeutral fill:#f8fafc,stroke:#334155,stroke-width:1.5px,color:#0f172a
classDef toneBlue fill:#dbeafe,stroke:#2563eb,stroke-width:1.5px,color:#172554
classDef toneAmber fill:#fef3c7,stroke:#d97706,stroke-width:1.5px,color:#78350f
classDef toneMint fill:#dcfce7,stroke:#16a34a,stroke-width:1.5px,color:#14532d
classDef toneRose fill:#ffe4e6,stroke:#e11d48,stroke-width:1.5px,color:#881337
classDef toneIndigo fill:#e0e7ff,stroke:#4f46e5,stroke-width:1.5px,color:#312e81
classDef toneTeal fill:#ccfbf1,stroke:#0f766e,stroke-width:1.5px,color:#134e4a
class node_inference,node_image_embeddings,node_client_pipeline,node_storage_key toneBlue
class node_management_libraries,node_alert_models,node_foundry_storage toneAmber
class node_task_engine,node_task_store,node_storage_endpoint,node_storage_provider toneMint
class node_mgmt_emitter,node_mgmt_generator,node_provisioning_generator toneRose
class node_developer,node_azure_service,node_arm_service toneIndigo
```

## Components

### Service clients

- [Inference clients](https://github.com/azure/azure-sdk-for-net/blob/main/sdk/ai/Azure.AI.Inference/src/Customized/EmbeddingsClient.cs): `sdk/ai/Azure.AI.Inference/src/Customized/EmbeddingsClient.cs`
- [Image embeddings](https://github.com/azure/azure-sdk-for-net/blob/main/sdk/ai/Azure.AI.Inference/src/ImageEmbeddingsClient.cs): `sdk/ai/Azure.AI.Inference/src/ImageEmbeddingsClient.cs`
- [HTTP pipeline](https://github.com/azure/azure-sdk-for-net/blob/main/sdk/ai/Azure.AI.Inference/src/Customized/EmbeddingsClient.cs): `sdk/ai/Azure.AI.Inference/src/Customized/EmbeddingsClient.cs`
- [Storage credentials](https://github.com/azure/azure-sdk-for-net/blob/main/sdk/batch/Microsoft.Azure.Batch/src/AzureStorageAuthenticationKey.cs): `sdk/batch/Microsoft.Azure.Batch/src/AzureStorageAuthenticationKey.cs`

### Resource management

- [Management libraries](https://github.com/azure/azure-sdk-for-net/blob/main/sdk/billingbenefits/Azure.ResourceManager.BillingBenefits/api/Azure.ResourceManager.BillingBenefits.net10.0.cs): `sdk/billingbenefits/Azure.ResourceManager.BillingBenefits/api/Azure.ResourceManager.BillingBenefits.net10.0.cs`
- [Alert rule models](https://github.com/azure/azure-sdk-for-net/blob/main/sdk/alertsmanagement/Azure.ResourceManager.PreviewAlertRule/api/Azure.ResourceManager.PreviewAlertRule.net10.0.cs): `sdk/alertsmanagement/Azure.ResourceManager.PreviewAlertRule/api/Azure.ResourceManager.PreviewAlertRule.net10.0.cs`

### Agent runtime

- [Task engine](https://github.com/azure/azure-sdk-for-net/blob/main/sdk/agentserver/Azure.AI.AgentServer.Core/src/Tasks/Engine/TaskEngine.cs): `sdk/agentserver/Azure.AI.AgentServer.Core/src/Tasks/Engine/TaskEngine.cs`
- [Task store](https://github.com/azure/azure-sdk-for-net/blob/main/sdk/agentserver/Azure.AI.AgentServer.Core/src/Tasks/Engine/TaskEngine.cs): `sdk/agentserver/Azure.AI.AgentServer.Core/src/Tasks/Engine/TaskEngine.cs`
- [Storage endpoint](https://github.com/azure/azure-sdk-for-net/blob/main/sdk/agentserver/Azure.AI.AgentServer.Core/src/Storage/FoundryStorageEndpoint.cs): `sdk/agentserver/Azure.AI.AgentServer.Core/src/Storage/FoundryStorageEndpoint.cs`
- [Foundry storage provider](https://github.com/azure/azure-sdk-for-net/blob/main/sdk/agentserver/Azure.AI.AgentServer.Responses/src/Internal/FoundryStorageProvider.cs): `sdk/agentserver/Azure.AI.AgentServer.Responses/src/Internal/FoundryStorageProvider.cs`

### SDK generation

- [Management emitter](https://github.com/azure/azure-sdk-for-net/blob/main/eng/packages/http-client-csharp-mgmt/emitter/src/emitter.ts): `eng/packages/http-client-csharp-mgmt/emitter/src/emitter.ts`
- [Management generator](https://github.com/azure/azure-sdk-for-net/blob/main/eng/packages/http-client-csharp-mgmt/generator/Azure.Generator.Management/src/ManagementClientGenerator.cs): `eng/packages/http-client-csharp-mgmt/generator/Azure.Generator.Management/src/ManagementClientGenerator.cs`
- [Provisioning generator](https://github.com/azure/azure-sdk-for-net/blob/main/eng/packages/http-client-csharp-provisioning/generator/Azure.Generator.Provisioning/src/ProvisioningGenerator.cs): `eng/packages/http-client-csharp-provisioning/generator/Azure.Generator.Provisioning/src/ProvisioningGenerator.cs`

### Other components

- **Application developer**
- **Azure AI service**
- **Azure Resource Manager**
- **Foundry storage API**

## Connections

- Application developer → Inference clients: calls client
- Inference clients → HTTP pipeline: sends requests
- Image embeddings → HTTP pipeline: sends requests
- HTTP pipeline → Azure AI service: HTTP requests
- Application developer → Management libraries: calls client
- Management libraries → Azure Resource Manager: manages resources
- Application developer → Task engine: submits tasks
- Task engine → Task store: reads and writes
- Storage endpoint → Foundry storage provider: configures endpoint
- Foundry storage provider → Foundry storage API: sends storage requests
