M

azure-storage

by microsoft

Developer-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.

Stars0
Favorites0
Comments0
CategoryBackend Development
Install Command
npx skills add https://github.com/microsoft/azure-skills --skill azure-storage
Overview

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-prepare and Cosmos-specific skills instead)
  • Event Hubs or Service Bus messaging (use azure-messaging and 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 tools
  • references/auth-best-practices.md – recommended authentication patterns
  • references/sdk-usage.md – cross-language SDK overview and install commands
  • references/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
  • File Shares – SMB file shares
    • CLI: az storage file
  • Queue Storage – async messages
    • CLI: az storage queue
  • Table Storage – key-value entities
    • CLI: az storage table
  • Data Lake – analytics and hierarchical namespace
    • CLI: az storage fs

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 subscription
  • storage_container_list – list containers within a storage account
  • storage_blob_list – list blobs within a container
  • storage_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 ManagedIdentityCredential in production; avoid relying on DefaultAzureCredential there
  • For local development, DefaultAzureCredential is acceptable and convenient
  • For CI/CD pipelines, use AzurePipelinesCredential or WorkloadIdentityCredential
  • For on-premises production, use ClientCertificateCredential or WorkloadIdentityCredential

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 Python
  • references/sdk/azure-storage-blob-ts.md – Blob Storage with TypeScript/Node.js
  • references/sdk/azure-storage-file-share-py.md and azure-storage-file-share-ts.md – Azure Files
  • references/sdk/azure-storage-queue-py.md and azure-storage-queue-ts.md – Queue Storage
  • references/sdk/azure-storage-file-datalake-py.md – Data Lake Storage with Python
  • references/sdk/azure-data-tables-py.md and azure-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.net with your actual account endpoints
  • Wire your credential choice to the environment (managed identity in production, DefaultAzureCredential locally)
  • Use the CLI commands (az storage blob, az storage queue, etc.) from SKILL.md to 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:

  • ManagedIdentityCredential for Azure-hosted workloads
  • ClientCertificateCredential or WorkloadIdentityCredential for on-premises workloads
  • CI-specific credentials like AzurePipelinesCredential where 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.

Ratings & Reviews

No ratings yet
Share your review
Sign in to leave a rating and comment for this skill.
G
0/10000
Latest reviews
Saving...