pricing porta example bloque almacenamiento c# .net azure azure-storage-blobs

c# - porta - blob storage vs file storage



¿Obtener lista de nombres de archivos de blob de Azure en un contenedor? (5)

Aquí hay una manera más de hacer esto:

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 list var 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;

Fuente: ¿Cómo cargar recursivamente la lista de archivos de blob de Azure?

Necesito enumerar nombres de nombres de archivos de Azure Blob. Actualmente puedo listar todos los archivos con URL pero solo necesito una lista de nombres. Quiero evitar el análisis de nombres. ¿Puedes por favor ver mi código y guía a continuación:

CloudStorageAccount backupStorageAccount = CloudStorageAccount.Parse(blobConectionString); var backupBlobClient = backupStorageAccount.CreateCloudBlobClient(); var backupContainer = backupBlobClient.GetContainerReference(container); var list = backupContainer.ListBlobs();


Podemos obtener información adicional como tamaño, fecha de modificación y nombre .

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(); }

También puede descargar un archivo específico por nombre.

// Download file by Name string fileName = "Your_file_name"; CloudBlockBlob blobFile = backupContainer.GetBlockBlobReference(fileName); blobFile.DownloadToFile(@"d:/"+ fileName, System.IO.FileMode.Create);


Puedes acceder a BlobProperties para obtener el nombre:

foreach (object o in list) { BlobProperties bp = o as BlobProperties; if (bp != null) { BlobProperties p = _Container.GetBlobProperties(bp.Name); var name = p.Name; // get the name } }


Respuesta completa con detalles.

// Parse the connection string and return a reference to the storage account. CloudStorageAccount storageAccount = CloudStorageAccount.Parse(CloudConfigurationManager.GetSetting("AzureBlobConnectionString")); CloudBlobClient blobClient = storageAccount.CreateCloudBlobClient(); // Retrieve reference to a previously created container. CloudBlobContainer container = blobClient.GetContainerReference("container_name"); // Retrieve reference to a blob named "test.csv" CloudBlockBlob blockBlob = container.GetBlockBlobReference("BlobName.tex"); //Gets List of Blobs var list = container.ListBlobs(); List<string> blobNames = list.OfType<CloudBlockBlob>().Select(b => b.Name).ToList();


Si está utilizando Windows Azure Storage 4.3.0 , intente este código.

List<string> blobNames = list.OfType<CloudBlockBlob>().Select(b => b.Name).ToList();