azure-storage
by microsoftDeveloper-focused skill for working with Azure Storage services (Blob, File Shares, Queues, Tables, and Data Lake) from your applications and tools. Covers core concepts, SDK selection, authentication best practices, and quickstart snippets so you can upload, download, and manage data securely at scale.
Overview
What the azure-storage skill does
The azure-storage skill is a focused guide to Microsoft Azure Storage Services, covering:
- Blob Storage – object and file storage for backups, static assets, and large data files
- Azure Files (File Shares) – SMB-compatible file shares for lift-and-shift workloads
- Queue Storage – lightweight async messaging and background task queues
- Table Storage – NoSQL key-value storage for simple, schemaless data
- Azure Data Lake – big data analytics storage with hierarchical namespaces
This skill does not add a new SDK or CLI itself. Instead, it helps you:
- Choose the right Azure Storage service for your scenario
- Use the MCP server tools (where available) to list accounts, containers, and blobs
- Install the appropriate language SDKs (Python, JavaScript/Node.js, Java, .NET, Go, Rust)
- Follow authentication best practices so you do not ship secrets or misuse
DefaultAzureCredential
Who this skill is for
Use the azure-storage skill if you are a:
- Backend developer integrating Azure Storage into APIs, services, or background workers
- Cloud engineer or DevOps practitioner standardizing how your team uses Azure Storage
- Data or analytics engineer needing a quick orientation to Data Lake vs Blob Storage
- Agent / MCP user who wants storage-aware workflows (listing storage accounts, containers, and blobs via
azure__storage)
Problems the azure-storage skill helps you solve
With this skill you can quickly answer questions like:
- Which Azure Storage service should I use for files vs messages vs key-value data?
- How do I list storage accounts, containers, and blobs via the MCP server?
- Which SDK package should I install for Blob, Queue, File Share, or Data Lake in my language?
- How do I set up passwordless authentication using managed identities and Azure RBAC?
- When should I use DefaultAzureCredential and when should I avoid it?
When azure-storage is and is not a good fit
Use azure-storage for:
- Integrating Blob Storage into APIs or microservices
- Mounting or managing file shares for lift-and-shift workloads
- Implementing async queues using Azure Queue Storage
- Storing and querying simple key-value or entity data in Table Storage
- Working with Azure Data Lake for analytics data
Do not use azure-storage for:
- Relational SQL databases (use Azure SQL or another database-specific skill)
- Cosmos DB workflows (see
azure-prepareand Cosmos-specific skills instead) - Event Hubs or Service Bus messaging (use
azure-messagingand related skills)
If your workload is primarily transactional SQL or high-level event streaming, this skill is not the right entry point.
How to Use
1. Install the azure-storage skill
To make azure-storage available in your agent environment, install it from the microsoft/azure-skills repository:
npx skills add https://github.com/microsoft/azure-skills --skill azure-storage
After installation, the skill exposes documentation and references that your agent (or you, via the Files view) can inspect, including:
SKILL.md– high-level description of supported services and toolsreferences/auth-best-practices.md– recommended authentication patternsreferences/sdk-usage.md– cross-language SDK overview and install commandsreferences/sdk/*.md– per-language quick references for Blob, Queue, File Share, Data Lake, and Tables
If you have the Azure MCP server enabled in your environment, the skill also ties into the azure__storage tools for account and blob operations.
2. Understand the available services and tools
Open SKILL.md first. It includes a Services matrix that explains when to use each storage service and which tools can work with it:
- Blob Storage – general object storage
- MCP:
azure__storage - CLI:
az storage blob
- MCP:
- File Shares – SMB file shares
- CLI:
az storage file
- CLI:
- Queue Storage – async messages
- CLI:
az storage queue
- CLI:
- Table Storage – key-value entities
- CLI:
az storage table
- CLI:
- Data Lake – analytics and hierarchical namespace
- CLI:
az storage fs
- CLI:
This helps you pick the correct service and CLI command set before you start coding.
3. Use the MCP server for storage discovery (if enabled)
When the Azure MCP server is configured, the azure-storage skill explains how to use the azure__storage tools, including commands such as:
storage_account_list– list storage accounts in your subscriptionstorage_container_list– list containers within a storage accountstorage_blob_list– list blobs within a containerstorage_blob_get– download blob contents
These tools are ideal when you want your agent to inspect existing storage, pull sample data, or validate configuration before writing code.
4. Install the right SDKs for your language
The references/sdk-usage.md file gives you a compact table of which SDK packages to install per language and service, along with example installation commands.
For example, for Python Blob Storage development:
pip install azure-storage-blob azure-identity
For JavaScript/Node.js Blob Storage:
npm install @azure/storage-blob @azure/identity
For Java Blob Storage (Maven):
<dependency>
<groupId>com.azure</groupId>
<artifactId>azure-storage-blob</artifactId>
</dependency>
<dependency>
<groupId>com.azure</groupId>
<artifactId>azure-identity</artifactId>
</dependency>
references/sdk-usage.md also highlights related SDKs for Queue, File Share, and Data Lake, so you can keep your stack consistent across services.
5. Follow authentication best practices
Authentication is often where Azure Storage integrations go wrong. The azure-storage skill includes references/auth-best-practices.md, which distills Microsoft guidance into practical rules.
Key points include:
- Use managed identities and Azure RBAC in production (Azure-hosted environments)
- Prefer
ManagedIdentityCredentialin production; avoid relying onDefaultAzureCredentialthere - For local development,
DefaultAzureCredentialis acceptable and convenient - For CI/CD pipelines, use
AzurePipelinesCredentialorWorkloadIdentityCredential - For on-premises production, use
ClientCertificateCredentialorWorkloadIdentityCredential
This helps you avoid shipping secrets, reduces configuration drift, and makes authentication behavior predictable across environments.
6. Start coding with the quick references
Once you know which service and SDK you need, use the per-language quick reference files in references/sdk/ to jump-start your implementation. For example:
references/sdk/azure-storage-blob-py.md– Blob Storage with Pythonreferences/sdk/azure-storage-blob-ts.md– Blob Storage with TypeScript/Node.jsreferences/sdk/azure-storage-file-share-py.mdandazure-storage-file-share-ts.md– Azure Filesreferences/sdk/azure-storage-queue-py.mdandazure-storage-queue-ts.md– Queue Storagereferences/sdk/azure-storage-file-datalake-py.md– Data Lake Storage with Pythonreferences/sdk/azure-data-tables-py.mdandazure-data-tables-java.md– Table Storage
Each quick reference typically contains:
- Install instructions for the storage and identity packages
- A Quick Start snippet that shows how to build a client with
DefaultAzureCredential(for local dev) - Best practices for performance, error handling, partition design (for Tables), and upload/download patterns
By using these as templates, you can move from concept to working code with minimal friction while still aligning with recommended patterns.
7. Adapt to your environment and deployment model
The azure-storage skill is designed to be adapted, not copy-pasted wholesale. When you adopt the patterns:
- Replace placeholder URLs like
https://<account>.blob.core.windows.netwith your actual account endpoints - Wire your credential choice to the environment (managed identity in production,
DefaultAzureCredentiallocally) - Use the CLI commands (
az storage blob,az storage queue, etc.) fromSKILL.mdto validate that your account, containers, queues, and permissions are correctly configured before deploying
This reduces time spent debugging connection and permission issues after deployment.
FAQ
Is azure-storage a code library or a documentation skill?
azure-storage is primarily a documentation and guidance skill. It does not ship its own runtime libraries; instead, it points you to the official Azure Storage SDKs for languages like Python, JavaScript/Node.js, Java, .NET, Go, and Rust, and documents how to use them correctly.
Does the azure-storage skill help me list accounts and blobs?
Yes, if you have the Azure MCP server configured, the skill explains how to use the azure__storage tools such as storage_account_list, storage_container_list, and storage_blob_list to enumerate accounts, containers, and blobs, and storage_blob_get to download blob content.
Which storage scenarios are best suited to Blob vs Data Lake?
The azure-storage skill’s SKILL.md helps you decide:
- Use Blob Storage for general-purpose object storage, backups, static website content, and file-like workloads
- Use Data Lake when you need big data analytics, hierarchical namespaces, or integration with analytics engines that expect Data Lake semantics
Both run on the same underlying platform, so your choice is mainly about how you organize and query data.
Can I use azure-storage for Cosmos DB or SQL databases?
No. The azure-storage skill is focused on Azure Storage services only. For Cosmos DB and more advanced database preparation, the repository recommends using azure-prepare and Cosmos-specific skills. For relational SQL databases, you should use SQL-focused tools or skills instead.
Is DefaultAzureCredential safe to use in production with azure-storage?
The skill explicitly recommends not using DefaultAzureCredential in production. It is ideal for local development, but in production you should use:
ManagedIdentityCredentialfor Azure-hosted workloadsClientCertificateCredentialorWorkloadIdentityCredentialfor on-premises workloads- CI-specific credentials like
AzurePipelinesCredentialwhere appropriate
This keeps authentication deterministic, reduces latency from failed credential fallbacks, and limits your attack surface.
Does azure-storage cover both Python and JavaScript/Node.js?
Yes. The references/sdk-usage.md and the files under references/sdk/ include quick references and install commands for Python and JavaScript/Node.js, as well as Java, .NET, Go, and Rust. If you are building a backend in Python or Node.js, you will find ready-to-adapt examples for Blob, Queue, File Share, Data Lake, and Tables.
How do I decide if azure-storage is the right starting point for my project?
Choose azure-storage if:
- Your application must store or serve files, objects, or large datasets from Azure
- You need lightweight queues or key-value storage without running your own infrastructure
- You want clear, opinionated guidance on which SDK to install and how to authenticate safely
If your project is primarily about relational databases, high-throughput event streaming (Event Hubs, Service Bus), or specialized analytics platforms, start with the skills dedicated to those services instead and complement them with azure-storage only when you add storage-centric features.
