azure-storage-blob-rust
Azure Blob Storage SDK for Rust. Use for uploading, downloading, and managing blobs and containers.
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
Manual Installation
- Download SKILL.md from GitHub
- Place it in
.claude/skills/azure-storage-blob-rust/SKILL.mdinside your project - Restart your AI agent — it will auto-discover the skill
How azure-storage-blob-rust Compares
| Feature / Agent | azure-storage-blob-rust | Standard Approach |
|---|---|---|
| Platform Support | Claude | Limited / Varies |
| Context Awareness | High | Baseline |
| Installation Complexity | medium | N/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
Best AI Skills for Claude
Explore the best AI skills for Claude and Claude Code across coding, research, workflow automation, documentation, and agent operations.
ChatGPT vs Claude for Agent Skills
Compare ChatGPT and Claude for AI agent skills across coding, writing, research, and reusable workflow execution.
AI Agents for Marketing
Discover AI agents for marketing workflows, from SEO and content production to campaign research, outreach, and analytics.
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
Azure File Share JavaScript/TypeScript SDK (@azure/storage-file-share) for SMB file share operations.
azure-storage-file-share-py
Azure Storage File Share SDK for Python. Use for SMB file shares, directories, and file operations in the cloud.
azure-storage-file-datalake-py
Azure Data Lake Storage Gen2 SDK for Python. Use for hierarchical file systems, big data analytics, and file/directory operations.
azure-storage-blob-ts
Azure Blob Storage JavaScript/TypeScript SDK (@azure/storage-blob) for blob operations. Use for uploading, downloading, listing, and managing blobs and containers.
azure-storage-blob-py
Azure Blob Storage SDK for Python. Use for uploading, downloading, listing blobs, managing containers, and blob lifecycle.
microsoft-azure-webjobs-extensions-authentication-events-dotnet
Microsoft Entra Authentication Events SDK for .NET. Azure Functions triggers for custom authentication extensions.
azure-web-pubsub-ts
Real-time messaging with WebSocket connections and pub/sub patterns.
azure-storage-queue-ts
Azure Queue Storage JavaScript/TypeScript SDK (@azure/storage-queue) for message queue operations. Use for sending, receiving, peeking, and deleting messages in queues.
azure-storage-queue-py
Azure Queue Storage SDK for Python. Use for reliable message queuing, task distribution, and asynchronous processing.
azure-speech-to-text-rest-py
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.
azure-servicebus-py
Azure Service Bus SDK for Python messaging. Use for queues, topics, subscriptions, and enterprise messaging patterns.
azure-servicebus-dotnet
Azure Service Bus SDK for .NET. Enterprise messaging with queues, topics, subscriptions, and sessions.