Azure Blob Storage for Rust
Guides Rust developers through official Azure SDK patterns for managing blobs and containers.
The skill requires the official azure_storage_blob crate, forbids hardcoded credentials, and distinguishes local developer credentials from production managed identity. However, upload, delete, and container-creation examples involve external side effects without user confirmation, rollback or recovery guidance; data-flow and sensitive-data handling are also limited, so points are deducted.
Installation, authentication, client derivation, upload/download, deletion, pagination, and error classification are mostly coherent and include some failure feedback. No skill-specific compile or test evidence is provided, and API compatibility, network retries, and abnormal-input coverage are incomplete; the static score therefore remains below 10.
Triggers, Rust/Azure Blob Storage audience, and core scenarios are reasonably clear, covering read/write, containers, pagination, and RBAC. Non-fit boundaries, version selection, network limitations, and Chinese-language usage are not stated, so adaptability is reduced.
The document has sections for installation, environment variables, authentication, workflows, errors, RBAC, best practices, and references, and MIT licensing is clear. It lacks explicit SDK version pinning, changelog, maintenance ownership, and systematic troubleshooting; several assumptions remain implicit, so points are deducted.
The examples provide a directly useful starting point for common Blob CRUD operations and error handling. Static review cannot verify compilation or execution, while production configuration, retry behavior, pagination detail, and confirmation for destructive operations are incomplete; the score is conservatively capped by static calibration.
The skill gives official crate, API-reference, and source-code pointers, while repository material shows generic CI, evaluation workflows, and tests. The supplied files do not show skill-specific key-path test results or independent corroboration, so the static score remains at or below 5.
- Before execution, confirm the target storage account, container, and blob names, and add explicit confirmation plus recovery controls for writes and deletes.
- Examples depend on external Azure services and unpinned Rust crate versions; lock compatible versions and compile-test them in the target project.
- DeveloperToolsCredential is positioned for local development; production use should verify managed identity, least-privilege RBAC, and endpoint configuration.
What it does & when to use it
This skill provides implementation guidance for Azure Blob Storage in Rust. It covers uploading, downloading, deleting, and inspecting blobs, along with creating containers and paginating through blob listings. It explains DeveloperToolsCredential for local development, ManagedIdentityCredential for production, and Entra ID RBAC for authorization. It fits teams building Rust applications on Azure that want the official SDK and documented error-handling patterns.
Guides an agent to add azure_storage_blob, azure_identity, azure_core, tokio, and futures to a Rust project; configure AZURE_STORAGE_ENDPOINT; construct BlobServiceClient, BlobContainerClient, and BlobClient instances; upload, download, delete, and inspect blobs; create containers and iterate paginated blob listings; handle StorageError and StorageErrorCode values such as BlobNotFound, ContainerNotFound, and AuthorizationFailure; and assign Storage Blob Data Reader, Contributor, or Owner roles as needed.
- A Rust application needs to upload byte data to Azure Blob Storage.
- A Rust service needs to download blob content or retrieve blob properties.
- A developer needs to create containers and paginate through their blobs in Rust.
- A production application needs Entra ID RBAC and managed identity for blob operations.
- A team needs guidance that avoids unofficial Azure Storage crates for Rust.
Pros & cons
- Covers blob and container operations, pagination, RBAC authentication, and storage-specific errors.
- Clearly directs users to the official azure_storage_blob crate and names unofficial alternatives to avoid.
- Includes copyable Cargo commands and Rust examples.
- Distinguishes local and production credentials and recommends client reuse.
- Its scope is Azure Blob Storage and does not cover other Azure Storage services.
- Examples require an Azure storage endpoint, credentials, and suitable RBAC roles.
- The source does not provide independent test coverage or a compatibility matrix for this individual skill.
- It does not document block uploads, SAS tokens, lifecycle management, or advanced transfer configuration.
How to install
Run npx skills add microsoft/skills and select azure-storage-blob-rust in the installation wizard. The skill is located at .github/plugins/azure-sdk-rust/skills/azure-storage-blob-rust/SKILL.md. Add project dependencies with cargo add azure_storage_blob azure_identity azure_core tokio futures; a direct azure_core dependency is optional when the code uses only types re-exported by azure_storage_blob.
How to use
Give the coding agent a request such as “Use BlobServiceClient in Rust to upload and download an Azure Blob” or “Use the official azure_storage_blob crate to create a container and paginate its blobs.” Set AZURE_STORAGE_ENDPOINT=https://<account>.blob.core.windows.net/, use DeveloperToolsCredential locally, use ManagedIdentityCredential in production, and derive container and blob clients from BlobServiceClient.
Compared to similar skills
The skill explicitly recommends the official azure_storage_blob crate over the unofficial azure_storage, azure_storage_blobs, and azure_sdk_for_rust community crates. The source provides no broader comparison with other products or SDKs.