Getting list of names of Azure blob files in a container?
If you're using Windows Azure Storage 4.3.0, try this code.
List<string> blobNames = list.OfType<CloudBlockBlob>().Select(b => b.Name).ToList();
Here is one more way to get this done:
CloudStorageAccount backupStorageAccount = CloudStorageAccount.Parse(blobConectionString);var backupBlobClient = backupStorageAccount.CreateCloudBlobClient();var backupContainer = backupBlobClient.GetContainerReference(container);// useFlatBlobListing is true to ensure loading all files in// virtual blob sub-folders as a plain listvar list = backupContainer.ListBlobs(useFlatBlobListing: true);var listOfFileNames = new List<string>();foreach (var blob in blobs) { var blobFileName = blob.Uri.Segments.Last(); listOfFileNames.Add(blobFileName); }return listOfFileNames;
We can get some additional info like Size, Modified date and Name.
CloudStorageAccount backupStorageAccount = CloudStorageAccount.Parse(YOUR_CON_STRING);var backupBlobClient = backupStorageAccount.CreateCloudBlobClient();var backupContainer = backupBlobClient.GetContainerReference("CONTAINER");var blobs = backupContainer.ListBlobs().OfType<CloudBlockBlob>().ToList();foreach (var blob in blobs){ string bName = blob.Name; long bSize = blob.Properties.Length; string bModifiedOn = blob.Properties.LastModified.ToString(); }
Also you can download a specific file by Name.
// Download file by Name string fileName = "Your_file_name"; CloudBlockBlob blobFile = backupContainer.GetBlockBlobReference(fileName); blobFile.DownloadToFile(@"d:\"+ fileName, System.IO.FileMode.Create);