All skills
microsoft avatar

/azure-storage

@b3c238e
by microsoftmicrosoft/skills3.1k stars
351

Azure Storage Services including Blob Storage, File Shares, Queue Storage, Table Storage, and Data Lake. Answers questions about storage access tiers (hot, cool, cold, archive), when to use each tier, and tier comparison. Provides object storage, SMB file shares, async messaging, NoSQL key-value, and big data analytics. Includes lifecycle management. USE FOR: blob storage, file shares, queue storage, table storage, data lake, upload files, download blobs, storage accounts, access tiers, storage tiers, hot cool cold archive, storage tier comparison, when to use storage tiers, lifecycle management, Azure Storage concepts. DO NOT USE FOR: SQL databases, Cosmos DB (use azure-prepare), messaging with Event Hubs or Service Bus (use azure-messaging).

Use this Skill: https://skilld.dev/gh/microsoft/skills/azure-storage

This session only. Nothing lands on disk.

referencessdk-usage.md

≈1.1k tokens on demand. Your agent reads this file only when SKILL.md points to it.

Azure Storage SDK Usage

SDK packages and quick start examples for Azure Storage services.

Storage SDKs by Language

Language Blob Queue File Share Data Lake
.NET Azure.Storage.Blobs Azure.Storage.Queues Azure.Storage.Files.Shares Azure.Storage.Files.DataLake
Java azure-storage-blob azure-storage-queue azure-storage-file-share azure-storage-file-datalake
JavaScript @azure/storage-blob @azure/storage-queue @azure/storage-file-share @azure/storage-file-datalake
Python azure-storage-blob azure-storage-queue azure-storage-file-share azure-storage-file-datalake
Go azblob azqueue azfile azdatalake
Rust azure_storage_blob azure_storage_queue - -

Installation Commands

Language Install Blob SDK + Identity
.NET dotnet add package Azure.Storage.Blobs dotnet add package Azure.Identity
Java Maven: com.azure:azure-storage-blob com.azure:azure-identity
JavaScript npm install @azure/storage-blob @azure/identity
Python pip install azure-storage-blob azure-identity
Go go get github.com/Azure/azure-sdk-for-go/sdk/storage/azblob github.com/Azure/azure-sdk-for-go/sdk/azidentity
Rust cargo add azure_storage_blob azure_identity

Quick Start Examples

All examples use DefaultAzureCredential for authentication, which is recommended for local development only. In production, use ManagedIdentityCredential — see auth-best-practices.md. Rust uses DeveloperToolsCredential as it doesn't have a DefaultAzureCredential equivalent.

Python - Upload Blob:

from azure.identity import DefaultAzureCredential
from azure.storage.blob import BlobServiceClient

service = BlobServiceClient(account_url="https://ACCOUNT.blob.core.windows.net/", credential=DefaultAzureCredential())
container = service.get_container_client("my-container")
blob = container.get_blob_client("my-blob.txt")
blob.upload_blob(b"Hello, Azure Storage!", overwrite=True)

JavaScript - Upload Blob:

import { DefaultAzureCredential } from "@azure/identity";
import { BlobServiceClient } from "@azure/storage-blob";

const client = new BlobServiceClient("https://ACCOUNT.blob.core.windows.net/", new DefaultAzureCredential());
const container = client.getContainerClient("my-container");
const blob = container.getBlockBlobClient("my-blob.txt");
await blob.uploadData(Buffer.from("Hello, Azure Storage!"));

C# - Upload Blob:

using Azure.Identity;
using Azure.Storage.Blobs;

var client = new BlobServiceClient(new Uri("https://ACCOUNT.blob.core.windows.net/"), new DefaultAzureCredential());
var container = client.GetBlobContainerClient("my-container");
var blob = container.GetBlobClient("my-blob.txt");
await blob.UploadAsync(BinaryData.FromString("Hello, Azure Storage!"), overwrite: true);

Java - Upload Blob:

import com.azure.identity.*;
import com.azure.storage.blob.*;
import com.azure.core.util.BinaryData;

BlobServiceClient client = new BlobServiceClientBuilder()
    .endpoint("https://ACCOUNT.blob.core.windows.net/")
    .credential(new DefaultAzureCredentialBuilder().build())
    .buildClient();
BlobContainerClient container = client.getBlobContainerClient("my-container");
BlobClient blob = container.getBlobClient("my-blob.txt");
blob.upload(BinaryData.fromString("Hello, Azure Storage!"), true);

Go - Upload Blob:

package main

import (
    "context"

    "github.com/Azure/azure-sdk-for-go/sdk/azidentity"
    "github.com/Azure/azure-sdk-for-go/sdk/storage/azblob"
)

func main() {
    cred, _ := azidentity.NewDefaultAzureCredential(nil)
    client, _ := azblob.NewClient("https://ACCOUNT.blob.core.windows.net/", cred, nil)

    data := []byte("Hello, Azure Storage!")
    _, _ = client.UploadBuffer(context.Background(), "my-container", "my-blob.txt", data, nil)
}

Rust - Upload Blob:

use azure_identity::DeveloperToolsCredential;
use azure_storage_blob::{BlobClient, BlobClientOptions};

let credential = DeveloperToolsCredential::new(None)?;
let blob_client = BlobClient::new(
    "https://ACCOUNT.blob.core.windows.net/",
    "my-container",
    "my-blob.txt",
    Some(credential),
    Some(BlobClientOptions::default()),
)?;
let data = b"Hello, Azure Storage!";
blob_client.upload(None, data.to_vec().into()).await?;

Source: SKILL.md on GitHub

2 warnings15d4 checks · Risk SAFE
  • Gen Agent Trust Hub15d

    This skill provides a technical reference for Azure Storage services, including security best practices for authentication and official SDK usage. It includes references to tools for data interaction, which is a common pattern that warrants review for handling external content.

  • Socket15d

    No alerts

  • Snyk15d

    Risk: MEDIUM · 1 issue

  • Runlayer7mo

    13/13 files flagged

Signed by skilld at b3c238e. This ties the file your Agent reads to that commit on GitHub. It does not review the instructions.

Last checked against GitHub yesterday.

Activeupdated 2 months ago
metadata
{
  "author": "Microsoft",
  "version": "1.2.1"
}

README badge

README badge for microsoft/skills/azure-storage