Azure Storage Services
When to invoke
- "Which storage access tier should I use for these blobs?"
- "Set up a storage account for file shares or queues."
- "Compare hot, cool, cold, and archive tiers."
- "Configure lifecycle management for old blobs."
Services
| Service |
Use When |
MCP Tools |
CLI |
| Blob Storage |
Objects, files, backups, static content |
azure__storage |
az storage blob |
| File Shares |
SMB file shares, lift-and-shift |
- |
az storage file |
| Queue Storage |
Async messaging, task queues |
- |
az storage queue |
| Table Storage |
NoSQL key-value (consider Cosmos DB) |
- |
az storage table |
| Data Lake |
Big data analytics, hierarchical namespace |
- |
az storage fs |
MCP Server (Preferred)
When Azure MCP is enabled:
azure__storage with command storage_account_list - List storage accounts
azure__storage with command storage_container_list - List containers in account
azure__storage with command storage_blob_list - List blobs in container
azure__storage with command storage_blob_get - Download blob content
azure__storage with command storage_blob_put - Upload blob content
If Azure MCP is not enabled: Run /azure:setup or enable via /mcp.
CLI Fallback
# List storage accounts
az storage account list --output table
# List containers
az storage container list --account-name ACCOUNT --output table
# List blobs
az storage blob list --account-name ACCOUNT --container-name CONTAINER --output table
# Download blob
az storage blob download --account-name ACCOUNT --container-name CONTAINER --name BLOB --file LOCAL_PATH
# Upload blob
az storage blob upload --account-name ACCOUNT --container-name CONTAINER --name BLOB --file LOCAL_PATH
Storage Account Tiers
| Tier |
Use Case |
Performance |
| Standard |
General purpose, backup |
Milliseconds |
| Premium |
Databases, high IOPS |
Sub-millisecond |
Blob Access Tiers
| Tier |
Access Frequency |
Cost |
| Hot |
Frequent |
Higher storage, lower access |
| Cool |
Infrequent (30+ days) |
Lower storage, higher access |
| Cold |
Rare (90+ days) |
Lower still |
| Archive |
Rarely (180+ days) |
Lowest storage, rehydration required |
Redundancy Options
| Type |
Durability |
Use Case |
| LRS |
11 nines |
Dev/test, recreatable data |
| ZRS |
12 nines |
Regional high availability |
| GRS |
16 nines |
Disaster recovery |
| GZRS |
16 nines |
Best durability |
Service Details
For deep documentation on specific services:
SDK Quick References
For building applications with Azure Storage SDKs, see the condensed guides:
- Blob Storage: Python | TypeScript | Java | Rust
- Queue Storage: Python | TypeScript
- File Shares: Python | TypeScript
- Data Lake: Python
- Tables: Python | Java
For full package listing across all languages, see SDK Usage Guide.
Azure SDKs
For building applications that interact with Azure Storage programmatically, Azure provides SDK packages in multiple languages (.NET, Java, JavaScript, Python, Go, Rust). See SDK Usage Guide for package names, installation commands, and quick start examples.
Output template
## Storage design result
**Status:** designed | configured | blocked
**Summary:** <one sentence covering scope and outcome>
### Details
Service and tier selection, redundancy, and lifecycle policy.
### Validation
- <check performed>: <result and evidence>
Quality gate
1---2name: azure-storage-33description: Design and operate Azure Storage services including Blob Storage, File Shares, Queue Storage, Table Storage, and Data Lake, covering object storage, SMB file shares, async messaging, NoSQL key-value data, big data analytics, access tiers, and lifecycle management. Use when the user asks about blob storage, file shares, queue or table storage, Data Lake, uploading files or downloading blobs, storage accounts, hot, cool, cold, or archive access tiers, tier comparison and selection, or storage lifecycle management policies.4license: MIT5---67<!-- Generated from harness/github-copilot/plugins/azure-data-development/skills/azure-storage/SKILL.md by harness/claude-code/scripts/convert_from_copilot.py. Edit the source, not this file. -->89# Azure Storage Services1011## When to invoke1213- "Which storage access tier should I use for these blobs?"14- "Set up a storage account for file shares or queues."15- "Compare hot, cool, cold, and archive tiers."16- "Configure lifecycle management for old blobs."1718## Services1920| Service | Use When | MCP Tools | CLI |21|---------|----------|-----------|-----|22| Blob Storage | Objects, files, backups, static content | `azure__storage` | `az storage blob` |23| File Shares | SMB file shares, lift-and-shift | - | `az storage file` |24| Queue Storage | Async messaging, task queues | - | `az storage queue` |25| Table Storage | NoSQL key-value (consider Cosmos DB) | - | `az storage table` |26| Data Lake | Big data analytics, hierarchical namespace | - | `az storage fs` |2728## MCP Server (Preferred)2930When Azure MCP is enabled:3132- `azure__storage` with command `storage_account_list` - List storage accounts33- `azure__storage` with command `storage_container_list` - List containers in account34- `azure__storage` with command `storage_blob_list` - List blobs in container35- `azure__storage` with command `storage_blob_get` - Download blob content36- `azure__storage` with command `storage_blob_put` - Upload blob content3738**If Azure MCP is not enabled:** Run `/azure:setup` or enable via `/mcp`.3940## CLI Fallback4142```bash43# List storage accounts44az storage account list --output table4546# List containers47az storage container list --account-name ACCOUNT --output table4849# List blobs50az storage blob list --account-name ACCOUNT --container-name CONTAINER --output table5152# Download blob53az storage blob download --account-name ACCOUNT --container-name CONTAINER --name BLOB --file LOCAL_PATH5455# Upload blob56az storage blob upload --account-name ACCOUNT --container-name CONTAINER --name BLOB --file LOCAL_PATH57```5859## Storage Account Tiers6061| Tier | Use Case | Performance |62|------|----------|-------------|63| Standard | General purpose, backup | Milliseconds |64| Premium | Databases, high IOPS | Sub-millisecond |6566## Blob Access Tiers6768| Tier | Access Frequency | Cost |69|------|-----------------|------|70| Hot | Frequent | Higher storage, lower access |71| Cool | Infrequent (30+ days) | Lower storage, higher access |72| Cold | Rare (90+ days) | Lower still |73| Archive | Rarely (180+ days) | Lowest storage, rehydration required |7475## Redundancy Options7677| Type | Durability | Use Case |78|------|------------|----------|79| LRS | 11 nines | Dev/test, recreatable data |80| ZRS | 12 nines | Regional high availability |81| GRS | 16 nines | Disaster recovery |82| GZRS | 16 nines | Best durability |8384## Service Details8586For deep documentation on specific services:8788- Blob storage patterns and lifecycle -> [Blob Storage documentation](https://learn.microsoft.com/azure/storage/blobs/storage-blobs-overview)89- File shares and Azure File Sync -> [Azure Files documentation](https://learn.microsoft.com/azure/storage/files/storage-files-introduction)90- Queue patterns and poison handling -> [Queue Storage documentation](https://learn.microsoft.com/azure/storage/queues/storage-queues-introduction)9192## SDK Quick References9394For building applications with Azure Storage SDKs, see the condensed guides:9596- **Blob Storage**: [Python](references/sdk/azure-storage-blob-py.md) | [TypeScript](references/sdk/azure-storage-blob-ts.md) | [Java](references/sdk/azure-storage-blob-java.md) | [Rust](references/sdk/azure-storage-blob-rust.md)97- **Queue Storage**: [Python](references/sdk/azure-storage-queue-py.md) | [TypeScript](references/sdk/azure-storage-queue-ts.md)98- **File Shares**: [Python](references/sdk/azure-storage-file-share-py.md) | [TypeScript](references/sdk/azure-storage-file-share-ts.md)99- **Data Lake**: [Python](references/sdk/azure-storage-file-datalake-py.md)100- **Tables**: [Python](references/sdk/azure-data-tables-py.md) | [Java](references/sdk/azure-data-tables-java.md)101102For full package listing across all languages, see [SDK Usage Guide](references/sdk-usage.md).103104## Azure SDKs105106For building applications that interact with Azure Storage programmatically, Azure provides SDK packages in multiple languages (.NET, Java, JavaScript, Python, Go, Rust). See [SDK Usage Guide](references/sdk-usage.md) for package names, installation commands, and quick start examples.107108## Output template109110```markdown111## Storage design result112113**Status:** designed | configured | blocked114**Summary:** <one sentence covering scope and outcome>115116### Details117Service and tier selection, redundancy, and lifecycle policy.118119### Validation120- <check performed>: <result and evidence>121```122123## Quality gate124125- [ ] Tier and redundancy choices state their cost and durability trade-offs.126- [ ] Access uses Entra identity rather than account keys where supported.127- [ ] The output follows `## Output template` exactly.128- [ ] Every reported check was performed and its evidence is shown.129- [ ] Irreversible Azure actions were confirmed with the user first.