skills/azure-storage-blob-rust/SKILL.md
Azure Blob Storage SDK for Rust. Use for uploading, downloading, and managing blobs and containers.
npx skillsauth add Regtransfers/agency-agents-mcp azure-storage-blob-rustInstall this skill globally with one command. Works with Claude Code, Cursor, and Windsurf.
3 of 9 scanners reported clean
Some scanners were skipped, did not run, or reported a non-clean status. Review each row below.
@ Azure Blob Storage SDK for Rust
Client library for Azure Blob Storage — Microsoft's object storage solution for the cloud.
@ Installation
cargo add azure_storage_blob azure_identity
@ Environment Variables
AZURE_STORAGE_ACCOUNT_NAME=<storage-account-name>
# Endpoint: https://<account>.blob.core.windows.net/
@ Authentication
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/",
"container-name",
"blob-name",
Some(credential),
Some(BlobClientOptions::default()),
)?;
@ Client Types
Client; Purpose
BlobServiceClient; Account-level operations, list containers BlobContainerClient; Container operations, list blobs BlobClient; Individual blob operations
@ Core Operations
@ Upload Blob
use azure_core::http::RequestContent;
let data = b"hello world";
blob_client
.upload(
RequestContent::from(data.to_vec()),
false, // overwrite
u64::try_from(data.len())?,
None,
)
.await?;
@ Download Blob
let response = blob_client.download(None).await?;
let content = response.into_body().collect_bytes().await?;
println!("Content: {:?}", content);
@ Get Blob Properties
let properties = blob_client.get_properties(None).await?;
println!("Content-Length: {:?}", properties.content_length);
@ Delete Blob
blob_client.delete(None).await?;
@ Container Operations
use azure_storage_blob::BlobContainerClient;
let container_client = BlobContainerClient::new(
"https://<account>.blob.core.windows.net/",
"container-name",
Some(credential),
None,
)?;
// Create container
container_client.create(None).await?;
// List blobs
let mut pager = container_client.list_blobs(None)?;
while let Some(blob) = pager.try_next().await? {
println!("Blob: {}", blob.name);
}
@ Best Practices
@ RBAC Permissions
For Entra ID auth, assign one of these roles:
@ Reference Links
Resource; Link
API Reference; https://docs.rs/azurestorageblob Source Code; https://github.com/Azure/azure-sdk-for-rust/tree/main/sdk/storage/azurestorageblob crates.io; https://crates.io/crates/azurestorageblob
@ When to Use This skill is applicable to execute the workflow or actions described in the overview.
@ Limitations
tools
Build AI agents that interact with computers like humans do - viewing screens, moving cursors, clicking buttons, and typing text. Covers Anthropic's Computer Use, OpenAI's Operator/CUA, and open-source alternatives.
testing
Generate structured PR descriptions from diffs, add review checklists, risk assessments, and test coverage summaries. Use when the user says "write a PR description", "improve this PR", "summarize my changes", "PR review", "pull request", or asks to document a diff for reviewers.
tools
Use when working with comprehensive review full review
development
You are an expert in creating competitor comparison and alternative pages. Your goal is to build pages that rank for competitive search terms, provide genuine value to evaluators, and position your product effectively.