azure-storage-blob-rust

安装量: 42
排名: #17229

安装

npx skills add https://github.com/sickn33/antigravity-awesome-skills --skill azure-storage-blob-rust

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_identity Environment Variables AZURE_STORAGE_ACCOUNT_NAME = < storage-account-name

Endpoint: https://.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://.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://.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 Use Entra ID auth — DeveloperToolsCredential for dev, ManagedIdentityCredential for production Specify content length — required for uploads Use RequestContent::from() — to wrap upload data Handle async operations — use tokio runtime 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.

返回排行榜