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?;