azure-storage-blob-rust

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

31,392 stars
Complexity: medium

About this skill

This skill empowers AI agents to seamlessly integrate with Azure Blob Storage, Microsoft's scalable and secure object storage solution for the cloud. Leveraging the `azure_storage_blob` Rust SDK, agents can perform a comprehensive suite of file management operations, including uploading new blobs, downloading existing content, listing container contents, and managing container properties. It's designed to provide agents with direct, programmatic access to cloud-based data storage, making it ideal for applications requiring persistent, high-volume, and accessible storage for diverse data types, all built on the performance and memory safety of Rust.

Best use case

Storing and retrieving user-generated content (e.g., images, documents, videos) within cloud applications. Managing backups or archives for AI agent data, configurations, or generated outputs. Facilitating robust data exchange between AI agents and other cloud services or applications. Enabling agents to persist large datasets for future analysis, processing, or long-term retention. Integrating file-based operations into AI-powered workflows that require scalable cloud storage.

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

Successful upload of specified files to an Azure Blob Storage container, with confirmation. Retrieval of blob content as requested by the agent, allowing for further processing. Accurate listings of blobs and containers within the storage account, enabling navigation and discovery. Confirmation of container creation, deletion, or modification based on agent commands. Secure and efficient interaction with Azure Blob Storage services.

Practical example

Example input

{"skill_name": "azure-storage-blob-rust", "action": "upload_blob", "parameters": {"container_name": "ai-agent-uploads", "blob_name": "user_report_2024.txt", "file_content_base64": "VGhpcyBpcyB0aGUgY29udGVudCBvZiB0aGUgcmVwb3J0Lg=="}}

Example output

{"status": "success", "message": "Blob 'user_report_2024.txt' uploaded successfully to container 'ai-agent-uploads'.", "etag": "0x8D...68E", "last_modified": "2024-07-30T10:30:00Z", "url": "https://<account>.blob.core.windows.net/ai-agent-uploads/user_report_2024.txt"}

When to use this skill

  • When your AI agent needs to store or retrieve large files and objects in a Microsoft Azure cloud environment.
  • When persistent, scalable, and secure storage is required for agent-generated data or input files.
  • When integrating with other Azure services that rely on Blob Storage for data persistence.
  • When leveraging the performance, security, and memory safety benefits of Rust for cloud interactions is a priority.

When not to use this skill

  • When the required cloud storage solution is not Azure Blob Storage (e.g., AWS S3, Google Cloud Storage).
  • For temporary, small-scale data that can be managed in-memory or in local file systems without cloud persistence.
  • When direct file system access on the agent's host is sufficient and preferred over cloud storage.
  • For structured database storage needs, where a dedicated database service (like Azure SQL or Cosmos DB) would be more appropriate.

Installation

Claude Code / Cursor / Codex

$curl -o ~/.claude/skills/azure-storage-blob-rust/SKILL.md --create-dirs "https://raw.githubusercontent.com/sickn33/antigravity-awesome-skills/main/plugins/antigravity-awesome-skills-claude/skills/azure-storage-blob-rust/SKILL.md"

Manual Installation

  1. Download SKILL.md from GitHub
  2. Place it in .claude/skills/azure-storage-blob-rust/SKILL.md inside your project
  3. Restart your AI agent — it will auto-discover the skill

How azure-storage-blob-rust Compares

Feature / Agentazure-storage-blob-rustStandard Approach
Platform SupportClaudeLimited / Varies
Context Awareness High Baseline
Installation ComplexitymediumN/A

Frequently Asked Questions

What does this skill do?

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

Which AI agents support this skill?

This skill is designed for Claude.

How difficult is it to install?

The installation complexity is rated as medium. You can find the installation instructions above.

Where can I find the source code?

You can find the source code on GitHub using the link provided at the top of the page.

Related Guides

SKILL.md Source

# Azure Blob Storage SDK for Rust

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

## Installation

```sh
cargo add azure_storage_blob azure_identity
```

## Environment Variables

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

## Authentication

```rust
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

```rust
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

```rust
let response = blob_client.download(None).await?;
let content = response.into_body().collect_bytes().await?;
println!("Content: {:?}", content);
```

### Get Blob Properties

```rust
let properties = blob_client.get_properties(None).await?;
println!("Content-Length: {:?}", properties.content_length);
```

### Delete Blob

```rust
blob_client.delete(None).await?;
```

## Container Operations

```rust
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

1. **Use Entra ID auth** — `DeveloperToolsCredential` for dev, `ManagedIdentityCredential` for production
2. **Specify content length** — required for uploads
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` — full access including RBAC

## 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
This skill is applicable to execute the workflow or actions described in the overview.

Related Skills

azure-storage-file-share-ts

31392
from sickn33/antigravity-awesome-skills

Azure File Share JavaScript/TypeScript SDK (@azure/storage-file-share) for SMB file share operations.

Cloud Storage ManagementClaude

azure-storage-file-share-py

31392
from sickn33/antigravity-awesome-skills

Azure Storage File Share SDK for Python. Use for SMB file shares, directories, and file operations in the cloud.

Cloud Storage ManagementClaude

azure-storage-file-datalake-py

31392
from sickn33/antigravity-awesome-skills

Azure Data Lake Storage Gen2 SDK for Python. Use for hierarchical file systems, big data analytics, and file/directory operations.

Cloud Storage ManagementClaude

azure-storage-blob-ts

31392
from sickn33/antigravity-awesome-skills

Azure Blob Storage JavaScript/TypeScript SDK (@azure/storage-blob) for blob operations. Use for uploading, downloading, listing, and managing blobs and containers.

Cloud Storage ManagementClaude

azure-storage-blob-py

31392
from sickn33/antigravity-awesome-skills

Azure Blob Storage SDK for Python. Use for uploading, downloading, listing blobs, managing containers, and blob lifecycle.

Cloud Storage ManagementClaude

microsoft-azure-webjobs-extensions-authentication-events-dotnet

31392
from sickn33/antigravity-awesome-skills

Microsoft Entra Authentication Events SDK for .NET. Azure Functions triggers for custom authentication extensions.

Identity Management / Authentication & AuthorizationClaude

azure-web-pubsub-ts

31392
from sickn33/antigravity-awesome-skills

Real-time messaging with WebSocket connections and pub/sub patterns.

Messaging & CommunicationClaude

azure-storage-queue-ts

31392
from sickn33/antigravity-awesome-skills

Azure Queue Storage JavaScript/TypeScript SDK (@azure/storage-queue) for message queue operations. Use for sending, receiving, peeking, and deleting messages in queues.

Cloud IntegrationClaude

azure-storage-queue-py

31392
from sickn33/antigravity-awesome-skills

Azure Queue Storage SDK for Python. Use for reliable message queuing, task distribution, and asynchronous processing.

Cloud IntegrationClaude

azure-speech-to-text-rest-py

31392
from sickn33/antigravity-awesome-skills

Azure Speech to Text REST API for short audio (Python). Use for simple speech recognition of audio files up to 60 seconds without the Speech SDK.

Speech-to-TextClaude

azure-servicebus-py

31392
from sickn33/antigravity-awesome-skills

Azure Service Bus SDK for Python messaging. Use for queues, topics, subscriptions, and enterprise messaging patterns.

Cloud MessagingClaude

azure-servicebus-dotnet

31392
from sickn33/antigravity-awesome-skills

Azure Service Bus SDK for .NET. Enterprise messaging with queues, topics, subscriptions, and sessions.

Cloud IntegrationClaudeChatGPTGemini