Loading source
Pulling the file list, source metadata, and syntax-aware rendering for this listing.
Source from repo
Manage Azure Storage services including Blob, File Shares, Queues, Tables, and Data Lake
Files
Skill
Size
Entrypoint
Format
Open file
Syntax-highlighted preview of this file as included in the skill package.
references/sdk-usage.md
1# Azure Storage SDK Usage23SDK packages and quick start examples for Azure Storage services.45## Storage SDKs by Language67| Language | Blob | Queue | File Share | Data Lake |8|----------|------|-------|------------|----------|9| .NET | `Azure.Storage.Blobs` | `Azure.Storage.Queues` | `Azure.Storage.Files.Shares` | `Azure.Storage.Files.DataLake` |10| Java | `azure-storage-blob` | `azure-storage-queue` | `azure-storage-file-share` | `azure-storage-file-datalake` |11| JavaScript | `@azure/storage-blob` | `@azure/storage-queue` | `@azure/storage-file-share` | `@azure/storage-file-datalake` |12| Python | `azure-storage-blob` | `azure-storage-queue` | `azure-storage-file-share` | `azure-storage-file-datalake` |13| Go | `azblob` | `azqueue` | `azfile` | `azdatalake` |14| Rust | `azure_storage_blob` | `azure_storage_queue` | - | - |1516## Installation Commands1718| Language | Install Blob SDK + Identity |19|----------|-----------------------------|20| .NET | `dotnet add package Azure.Storage.Blobs` `dotnet add package Azure.Identity` |21| Java | Maven: `com.azure:azure-storage-blob` `com.azure:azure-identity` |22| JavaScript | `npm install @azure/storage-blob @azure/identity` |23| Python | `pip install azure-storage-blob azure-identity` |24| Go | `go get github.com/Azure/azure-sdk-for-go/sdk/storage/azblob github.com/Azure/azure-sdk-for-go/sdk/azidentity` |25| Rust | `cargo add azure_storage_blob azure_identity` |2627## Quick Start Examples2829All examples use `DefaultAzureCredential` for authentication, which is recommended for **local development only**. In production, use `ManagedIdentityCredential` — see [auth-best-practices.md](auth-best-practices.md). Rust uses `DeveloperToolsCredential` as it doesn't have a `DefaultAzureCredential` equivalent.3031**Python** - Upload Blob:32```python33from azure.identity import DefaultAzureCredential34from azure.storage.blob import BlobServiceClient3536service = BlobServiceClient(account_url="https://ACCOUNT.blob.core.windows.net/", credential=DefaultAzureCredential())37container = service.get_container_client("my-container")38blob = container.get_blob_client("my-blob.txt")39blob.upload_blob(b"Hello, Azure Storage!", overwrite=True)40```4142**JavaScript** - Upload Blob:43```javascript44import { DefaultAzureCredential } from "@azure/identity";45import { BlobServiceClient } from "@azure/storage-blob";4647const client = new BlobServiceClient("https://ACCOUNT.blob.core.windows.net/", new DefaultAzureCredential());48const container = client.getContainerClient("my-container");49const blob = container.getBlockBlobClient("my-blob.txt");50await blob.uploadData(Buffer.from("Hello, Azure Storage!"));51```5253**C#** - Upload Blob:54```csharp55using Azure.Identity;56using Azure.Storage.Blobs;5758var client = new BlobServiceClient(new Uri("https://ACCOUNT.blob.core.windows.net/"), new DefaultAzureCredential());59var container = client.GetBlobContainerClient("my-container");60var blob = container.GetBlobClient("my-blob.txt");61await blob.UploadAsync(BinaryData.FromString("Hello, Azure Storage!"), overwrite: true);62```6364**Java** - Upload Blob:65```java66import com.azure.identity.*;67import com.azure.storage.blob.*;68import com.azure.core.util.BinaryData;6970BlobServiceClient client = new BlobServiceClientBuilder()71.endpoint("https://ACCOUNT.blob.core.windows.net/")72.credential(new DefaultAzureCredentialBuilder().build())73.buildClient();74BlobContainerClient container = client.getBlobContainerClient("my-container");75BlobClient blob = container.getBlobClient("my-blob.txt");76blob.upload(BinaryData.fromString("Hello, Azure Storage!"), true);77```7879**Go** - Upload Blob:80```go81package main8283import (84"context"8586"github.com/Azure/azure-sdk-for-go/sdk/azidentity"87"github.com/Azure/azure-sdk-for-go/sdk/storage/azblob"88)8990func main() {91cred, _ := azidentity.NewDefaultAzureCredential(nil)92client, _ := azblob.NewClient("https://ACCOUNT.blob.core.windows.net/", cred, nil)9394data := []byte("Hello, Azure Storage!")95_, _ = client.UploadBuffer(context.Background(), "my-container", "my-blob.txt", data, nil)96}97```9899**Rust** - Upload Blob:100```rust101use azure_identity::DeveloperToolsCredential;102use azure_storage_blob::{BlobClient, BlobClientOptions};103104let credential = DeveloperToolsCredential::new(None)?;105let blob_client = BlobClient::new(106"https://ACCOUNT.blob.core.windows.net/",107"my-container",108"my-blob.txt",109Some(credential),110Some(BlobClientOptions::default()),111)?;112let data = b"Hello, Azure Storage!";113blob_client.upload(None, data.to_vec().into()).await?;114```115