Azure Storage container size

前端 未结 5 990
无人共我
无人共我 2020-12-11 01:42

How can I get a size of container in Azure Storage? I access Azure storage via C# API:

var account = CloudStorageAccount.Parse(ConfigurationManager.AppSettin         


        
5条回答
  •  清歌不尽
    2020-12-11 02:16

    A potentially more complete approach. The key difference, is the second param in the listblobs() call, which enforces a flat listing:

    public class StorageReport
    {
        public int FileCount { get; set; }
        public int DirectoryCount { get; set; }
        public long TotalBytes { get; set; }
    }
    
    //embdeded in some method
    StorageReport report = new StorageReport() { 
        FileCount = 0,
        DirectoryCount = 0,
        TotalBytes = 0
    };
    
    
    foreach (IListBlobItem blobItem in container.ListBlobs(null, true, BlobListingDetails.None))
    {
        if (blobItem is CloudBlockBlob)
        {
            CloudBlockBlob blob = blobItem as CloudBlockBlob;
            report.FileCount++;
            report.TotalBytes += blob.Properties.Length;
        }
        else if (blobItem is CloudPageBlob)
        {
            CloudPageBlob pageBlob = blobItem as CloudPageBlob;
    
            report.FileCount++;
            report.TotalBytes += pageBlob.Properties.Length;
        }
        else if (blobItem is CloudBlobDirectory)
        {
            CloudBlobDirectory directory = blobItem as CloudBlobDirectory;
    
            report.DirectoryCount++;
        }                        
    }
    

提交回复
热议问题