{"id":"52f9f13c-a603-4001-b815-cef96f266f2b","shortId":"KfjwvT","kind":"skill","title":"azure-storage-blob-rust","tagline":"Azure Blob Storage SDK for Rust. Use for uploading, downloading, and managing blobs and containers.","description":"# Azure Blob Storage SDK for Rust\n\nClient library for Azure Blob Storage — Microsoft's object storage solution for the cloud.\n\n## Installation\n\n```sh\ncargo add azure_storage_blob azure_identity\n```\n\n## Environment Variables\n\n```bash\nAZURE_STORAGE_ACCOUNT_NAME=<storage-account-name>\n# Endpoint: https://<account>.blob.core.windows.net/\n```\n\n## Authentication\n\n```rust\nuse azure_identity::DeveloperToolsCredential;\nuse azure_storage_blob::{BlobClient, BlobClientOptions};\n\nlet credential = DeveloperToolsCredential::new(None)?;\nlet blob_client = BlobClient::new(\n    \"https://<account>.blob.core.windows.net/\",\n    \"container-name\",\n    \"blob-name\",\n    Some(credential),\n    Some(BlobClientOptions::default()),\n)?;\n```\n\n## Client Types\n\n| Client | Purpose |\n|--------|---------|\n| `BlobServiceClient` | Account-level operations, list containers |\n| `BlobContainerClient` | Container operations, list blobs |\n| `BlobClient` | Individual blob operations |\n\n## Core Operations\n\n### Upload Blob\n\n```rust\nuse azure_core::http::RequestContent;\n\nlet data = b\"hello world\";\nblob_client\n    .upload(\n        RequestContent::from(data.to_vec()),\n        false,  // overwrite\n        u64::try_from(data.len())?,\n        None,\n    )\n    .await?;\n```\n\n### Download Blob\n\n```rust\nlet response = blob_client.download(None).await?;\nlet content = response.into_body().collect_bytes().await?;\nprintln!(\"Content: {:?}\", content);\n```\n\n### Get Blob Properties\n\n```rust\nlet properties = blob_client.get_properties(None).await?;\nprintln!(\"Content-Length: {:?}\", properties.content_length);\n```\n\n### Delete Blob\n\n```rust\nblob_client.delete(None).await?;\n```\n\n## Container Operations\n\n```rust\nuse azure_storage_blob::BlobContainerClient;\n\nlet container_client = BlobContainerClient::new(\n    \"https://<account>.blob.core.windows.net/\",\n    \"container-name\",\n    Some(credential),\n    None,\n)?;\n\n// Create container\ncontainer_client.create(None).await?;\n\n// List blobs\nlet mut pager = container_client.list_blobs(None)?;\nwhile let Some(blob) = pager.try_next().await? {\n    println!(\"Blob: {}\", blob.name);\n}\n```\n\n## Best Practices\n\n1. **Use Entra ID auth** — `DeveloperToolsCredential` for dev, `ManagedIdentityCredential` for production\n2. **Specify content length** — required for uploads\n3. **Use `RequestContent::from()`** — to wrap upload data\n4. **Handle async operations** — use `tokio` runtime\n5. **Check RBAC permissions** — ensure \"Storage Blob Data Contributor\" role\n\n## RBAC Permissions\n\nFor Entra ID auth, assign one of these roles:\n- `Storage Blob Data Reader` — read-only\n- `Storage Blob Data Contributor` — read/write\n- `Storage Blob Data Owner` — full access including RBAC\n\n## Reference Links\n\n| Resource | Link |\n|----------|------|\n| API Reference | https://docs.rs/azure_storage_blob |\n| Source Code | https://github.com/Azure/azure-sdk-for-rust/tree/main/sdk/storage/azure_storage_blob |\n| crates.io | https://crates.io/crates/azure_storage_blob |\n\n## When to Use\nThis skill is applicable to execute the workflow or actions described in the overview.\n\n## Limitations\n- Use this skill only when the task clearly matches the scope described above.\n- Do not treat the output as a substitute for environment-specific validation, testing, or expert review.\n- Stop and ask for clarification if required inputs, permissions, safety boundaries, or success criteria are missing.","tags":["azure","storage","blob","rust","antigravity","awesome","skills","sickn33","agent-skills","agentic-skills","ai-agent-skills","ai-agents"],"capabilities":["skill","source-sickn33","skill-azure-storage-blob-rust","topic-agent-skills","topic-agentic-skills","topic-ai-agent-skills","topic-ai-agents","topic-ai-coding","topic-ai-workflows","topic-antigravity","topic-antigravity-skills","topic-claude-code","topic-claude-code-skills","topic-codex-cli","topic-codex-skills"],"categories":["antigravity-awesome-skills"],"synonyms":[],"warnings":[],"endpointUrl":"https://skills.sh/sickn33/antigravity-awesome-skills/azure-storage-blob-rust","protocol":"skill","transport":"skills-sh","auth":{"type":"none","details":{"cli":"npx skills add sickn33/antigravity-awesome-skills","source_repo":"https://github.com/sickn33/antigravity-awesome-skills","install_from":"skills.sh"}},"qualityScore":"0.700","qualityRationale":"deterministic score 0.70 from registry signals: · indexed on github topic:agent-skills · 34928 github stars · SKILL.md body (3,367 chars)","verified":false,"liveness":"unknown","lastLivenessCheck":null,"agentReviews":{"count":0,"score_avg":null,"cost_usd_avg":null,"success_rate":null,"latency_p50_ms":null,"narrative_summary":null,"summary_updated_at":null},"enrichmentModel":"deterministic:skill-github:v1","enrichmentVersion":1,"enrichedAt":"2026-04-24T18:50:34.319Z","embedding":null,"createdAt":"2026-04-18T21:33:11.952Z","updatedAt":"2026-04-24T18:50:34.319Z","lastSeenAt":"2026-04-24T18:50:34.319Z","tsv":"'/azure/azure-sdk-for-rust/tree/main/sdk/storage/azure_storage_blob':315 '/azure_storage_blob':310 '/crates/azure_storage_blob':319 '1':228 '2':239 '3':246 '4':254 '5':261 'access':299 'account':55,99 'account-level':98 'action':332 'add':44 'api':306 'applic':326 'ask':370 'assign':277 'async':256 'auth':232,276 'authent':59 'await':142,150,157,170,182,207,222 'azur':2,6,21,30,45,48,53,62,66,119,187 'azure-storage-blob-rust':1 'b':125 'bash':52 'best':226 'blob':4,7,18,22,31,47,68,77,86,108,111,116,128,144,162,178,189,209,214,219,224,267,283,290,295 'blob-nam':85 'blob.core.windows.net':58,81,196 'blob.name':225 'blob_client.delete':180 'blob_client.download':148 'blob_client.get':167 'blobclient':69,79,109 'blobclientopt':70,91 'blobcontainercli':104,190,194 'blobservicecli':97 'bodi':154 'boundari':378 'byte':156 'cargo':43 'check':262 'clarif':372 'clear':345 'client':27,78,93,95,129,193 'cloud':40 'code':312 'collect':155 'contain':20,83,103,105,183,192,198,204 'container-nam':82,197 'container_client.create':205 'container_client.list':213 'content':152,159,160,173,241 'content-length':172 'contributor':269,292 'core':113,120 'crates.io':316,318 'crates.io/crates/azure_storage_blob':317 'creat':203 'credenti':72,89,201 'criteria':381 'data':124,253,268,284,291,296 'data.len':140 'data.to':133 'default':92 'delet':177 'describ':333,349 'dev':235 'developertoolscredenti':64,73,233 'docs.rs':309 'docs.rs/azure_storage_blob':308 'download':15,143 'endpoint':57 'ensur':265 'entra':230,274 'environ':50,361 'environment-specif':360 'execut':328 'expert':366 'fals':135 'full':298 'get':161 'github.com':314 'github.com/azure/azure-sdk-for-rust/tree/main/sdk/storage/azure_storage_blob':313 'handl':255 'hello':126 'http':121 'id':231,275 'ident':49,63 'includ':300 'individu':110 'input':375 'instal':41 'length':174,176,242 'let':71,76,123,146,151,165,191,210,217 'level':100 'librari':28 'limit':337 'link':303,305 'list':102,107,208 'manag':17 'managedidentitycredenti':236 'match':346 'microsoft':33 'miss':383 'mut':211 'name':56,84,87,199 'new':74,80,195 'next':221 'none':75,141,149,169,181,202,206,215 'object':35 'one':278 'oper':101,106,112,114,184,257 'output':355 'overview':336 'overwrit':136 'owner':297 'pager':212 'pager.try':220 'permiss':264,272,376 'practic':227 'println':158,171,223 'product':238 'properti':163,166,168 'properties.content':175 'purpos':96 'rbac':263,271,301 'read':287 'read-on':286 'read/write':293 'reader':285 'refer':302,307 'requestcont':122,131,248 'requir':243,374 'resourc':304 'respons':147 'response.into':153 'review':367 'role':270,281 'runtim':260 'rust':5,11,26,60,117,145,164,179,185 'safeti':377 'scope':348 'sdk':9,24 'sh':42 'skill':324,340 'skill-azure-storage-blob-rust' 'solut':37 'sourc':311 'source-sickn33' 'specif':362 'specifi':240 'stop':368 'storag':3,8,23,32,36,46,54,67,188,266,282,289,294 'substitut':358 'success':380 'task':344 'test':364 'tokio':259 'topic-agent-skills' 'topic-agentic-skills' 'topic-ai-agent-skills' 'topic-ai-agents' 'topic-ai-coding' 'topic-ai-workflows' 'topic-antigravity' 'topic-antigravity-skills' 'topic-claude-code' 'topic-claude-code-skills' 'topic-codex-cli' 'topic-codex-skills' 'treat':353 'tri':138 'type':94 'u64':137 'upload':14,115,130,245,252 'use':12,61,65,118,186,229,247,258,322,338 'valid':363 'variabl':51 'vec':134 'workflow':330 'world':127 'wrap':251","prices":[{"id":"a9ac3d6f-4a08-45c6-b713-f6ae39ecc780","listingId":"52f9f13c-a603-4001-b815-cef96f266f2b","amountUsd":"0","unit":"free","nativeCurrency":null,"nativeAmount":null,"chain":null,"payTo":null,"paymentMethod":"skill-free","isPrimary":true,"details":{"org":"sickn33","category":"antigravity-awesome-skills","install_from":"skills.sh"},"createdAt":"2026-04-18T21:33:11.952Z"}],"sources":[{"listingId":"52f9f13c-a603-4001-b815-cef96f266f2b","source":"github","sourceId":"sickn33/antigravity-awesome-skills/azure-storage-blob-rust","sourceUrl":"https://github.com/sickn33/antigravity-awesome-skills/tree/main/skills/azure-storage-blob-rust","isPrimary":false,"firstSeenAt":"2026-04-18T21:33:11.952Z","lastSeenAt":"2026-04-24T18:50:34.319Z"}],"details":{"listingId":"52f9f13c-a603-4001-b815-cef96f266f2b","quickStartSnippet":null,"exampleRequest":null,"exampleResponse":null,"schema":null,"openapiUrl":null,"agentsTxtUrl":null,"citations":[],"useCases":[],"bestFor":[],"notFor":[],"kindDetails":{"org":"sickn33","slug":"azure-storage-blob-rust","github":{"repo":"sickn33/antigravity-awesome-skills","stars":34928,"topics":["agent-skills","agentic-skills","ai-agent-skills","ai-agents","ai-coding","ai-workflows","antigravity","antigravity-skills","claude-code","claude-code-skills","codex-cli","codex-skills","cursor","cursor-skills","developer-tools","gemini-cli","gemini-skills","kiro","mcp","skill-library"],"license":"mit","html_url":"https://github.com/sickn33/antigravity-awesome-skills","pushed_at":"2026-04-24T06:41:17Z","description":"Installable GitHub library of 1,400+ agentic skills for Claude Code, Cursor, Codex CLI, Gemini CLI, Antigravity, and more. Includes installer CLI, bundles, workflows, and official/community skill collections.","skill_md_sha":"b1573e3b07f187ee962a77189a07915553c51c9b","skill_md_path":"skills/azure-storage-blob-rust/SKILL.md","default_branch":"main","skill_tree_url":"https://github.com/sickn33/antigravity-awesome-skills/tree/main/skills/azure-storage-blob-rust"},"layout":"multi","source":"github","category":"antigravity-awesome-skills","frontmatter":{"name":"azure-storage-blob-rust","description":"Azure Blob Storage SDK for Rust. Use for uploading, downloading, and managing blobs and containers."},"skills_sh_url":"https://skills.sh/sickn33/antigravity-awesome-skills/azure-storage-blob-rust"},"updatedAt":"2026-04-24T18:50:34.319Z"}}