Skip to content
Skillpedia
APIs & servers (backend)48k · #2380

azure-storage-blob-rust

Helps your agent manage files (blobs) on Azure using Rust. Useful for uploading, downloading, and organizing cloud data.

What it does

This tool helps programs written in Rust to store and retrieve files (called 'blobs') in Microsoft Azure's cloud storage. You can use it to upload, download, and manage these files.

When to use it

  • ✓When your program needs to save a large file to the cloud.
  • ✓When your program needs to download a file stored in the cloud.
  • ✓When your program needs to list or delete files in a specific cloud location.

Example of what to ask your AI

“How can my Rust program upload a file to Azure Blob Storage?”

Want more? Open the sections below.

How to use

The easiest way: copy the message below and paste it into Claude, ChatGPT, Cursor or any AI. It reads the skill and follows the instructions.

Skill link

https://github.com/sickn33/agentic-awesome-skills/blob/main/plugins/agentic-awesome-skills-claude/skills/azure-storage-blob-rust/SKILL.md

Ready-to-paste message

Use this skill to help me: https://github.com/sickn33/agentic-awesome-skills/blob/main/plugins/agentic-awesome-skills-claude/skills/azure-storage-blob-rust/SKILL.md Read the SKILL.md file at that link and follow its instructions for my task.
How it works

The program uses a special 'library' (SDK) that communicates with Azure. It needs access information and then uses specific commands to upload, download, or manage files.

Installation

Easiest way: copy the skill link and paste it into Claude, ChatGPT or Cursor asking it to follow the instructions.

In the terminal (Claude Code, Codex, Cursor), in your project folder:

npx skills add sickn33/agentic-awesome-skills --skill azure-storage-blob-rust

Or download just the file:

curl -L https://raw.githubusercontent.com/sickn33/agentic-awesome-skills/main/plugins/agentic-awesome-skills-claude/skills/azure-storage-blob-rust/SKILL.md -o SKILL.md
Technical content (original SKILL.md)

Original text by the author, straight from GitHub.

Azure Blob Storage SDK for Rust

Client library for Azure Blob Storage — Microsoft's object storage solution for the cloud.

The examples below require a reviewed compatible crate set and replacement of every resource placeholder. Do not use production data for demonstration writes.

Installation

cargo add azure_storage_blob@=1.1.0 azure_identity@=1.0.0 azure_core@=1.1.0

Environment Variables

export AZURE_STORAGE_ACCOUNT_NAME="<storage-account-name>"
# Endpoint: https://<account>.blob.core.windows.net/

Authentication

use azure_identity::DeveloperToolsCredential;
use azure_core::http::Url;
use azure_storage_blob::clients::{BlobClient, BlobClientOptions};

let credential = DeveloperToolsCredential::new(None)?;
let blob_client = BlobClient::new(
    Url::parse("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;
use azure_storage_blob::models::BlobClientUploadOptions;

let data = b"hello world";
blob_client
    .upload(
        RequestContent::from(data.to_vec()),
        Some(BlobClientUploadOptions::if_not_exists()), // fail rather than overwrite an existing blob
    )
    .await?;

Download Blob

let response = blob_client.download(None).await?;
// Check the approved size before fetching; use download_into with a bounded buffer for large data.
let content = response.body.collect().await?;
// Process authorized bytes; do not log the payload.

Get Blob Properties

let properties = blob_client.get_properties(None).await?;
// Read the version-specific response header trait; properties is a response, not a content_length field.
// Do not infer a body/size limit from successful metadata access alone.

Delete Blob

blob_client.delete(None).await?;

Container Operations

use azure_storage_blob::clients::BlobContainerClient;
use futures::TryStreamExt;

let container_client = BlobContainerClient::new(
    Url::parse("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(page) = pager.try_next().await? {
    let listing = page.into_model()?;
    // Process this listing page; apply an explicit maximum-page budget.
}

Best Practices

  1. Use Entra ID auth — DeveloperToolsCredential for dev, ManagedIdentityCredential for production
  2. Review overwrite behavior — the reviewed upload API uses options; if_not_exists prevents unintended replacement
  3. Use RequestContent::from() — to wrap upload data
  4. Handle async operations — use tokio runtime
  5. Check RBAC permissions — ensure "Storage Blob Data Contributor" role

RBAC Permissions

For Entra ID auth, assign one of these roles:

  • Storage Blob Data Reader — read-only
  • Storage Blob Data Contributor — read/write
  • Storage Blob Data Owner — blob-data access and supported ownership/ACL management; it does not grant general Azure RBAC role-assignment authority

The example API follows BlobClient 1.1.0; earlier releases used different constructor/upload signatures. Use the project’s compatible Azure crate versions rather than mixing them.

The reviewed example set uses azure_storage_blob 1.1.0 and compatible Azure core/credential crates. Record and commit Cargo.lock; source/API review is not a compiler or live-service test.

Reference Links

Resource Link
API Reference https://docs.rs/azure_storage_blob
Source Code https://github.com/Azure/azure-sdk-for-rust/tree/main/sdk/storage/azure_storage_blob
crates.io https://crates.io/crates/azure_storage_blob

When to Use

Use when a Rust application uploads/downloads a specified Azure blob, reads its properties or manages an authorized container.

Limitations

…

FAQ

What is a 'blob'?

A 'blob' is just a technical term for a file stored in Azure, like a photo, a document, or any other type of data.

What does 'cloud storage' mean?

It's a place to store your files on remote computers (servers) that you access over the internet, instead of storing them on your own computer.

Do I need to know Azure programming to use this?

This SDK is for those who already program in Rust. It simplifies interaction with Azure, but you still need basic knowledge of how Azure works and how to program in Rust.

Details

Original description by the author

Azure Blob Storage SDK for Rust. Use for uploading, downloading, and managing blobs and containers.

repo: sickn33/agentic-awesome-skills

Popularity

GitHub stars
48k
Ranking position
#2380
License
MIT
Updated
10/15/2026

Is this skill useful?

0

Sign in to vote.

Comments

  • …

More skills from this repository

Similar skills