azure-storage-blob-rust
Cloud, DevOps & Systèmes|
Documentation
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_identityEnvironment 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
DeveloperToolsCredential for dev, ManagedIdentityCredential for productionRequestContent::from() — to wrap upload datatokio runtimeRBAC Permissions
For Entra ID auth, assign one of these roles:
Storage Blob Data Reader — read-onlyStorage Blob Data Contributor — read/writeStorage Blob Data Owner — full access including RBACReference 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 |
Compétences similaires
Explorez d'autres agents de la catégorie Cloud, DevOps & Systèmes
azure-mgmt-applicationinsights-dotnet
|
azure-ai-projects-py
Build AI applications using the Azure AI Projects Python SDK (azure-ai-projects). Use when working with Foundry project clients, creating versioned agents with PromptAgentDefinition, running evaluations, managing connections/deployments/datasets/indexes, or using OpenAI-compatible clients. This is the high-level Foundry SDK - for low-level agent operations, use azure-ai-agents-python skill.
azd-deployment
Deploy containerized applications to Azure Container Apps using Azure Developer CLI (azd). Use when setting up azd projects, writing azure.yaml configuration, creating Bicep infrastructure for Container Apps, configuring remote builds with ACR, implementing idempotent deployments, managing environment variables across local/.azure/Bicep, or troubleshooting azd up failures. Triggers on requests for azd configuration, Container Apps deployment, multi-service deployments, and infrastructure-as-code with Bicep.