列出Blob中的文件?

时间:2015-03-20 14:32:36

标签: azure azure-storage azure-storage-blobs blobstorage blobs

刚开始使用Windows AzureMapreduce。我已在HDInsight内创建了Azure Portal群集,并使用名为Block Blob的{​​{1}}创建了Azure Explorer

我想知道的是,有没有办法列出BlobFilesBlob范围内的所有文件?换句话说,如果我将文本文件和图像上传到同一个Blob Container,我怎样才能以编程方式或其他方式列出这些文本文件以及这些图像?

搜索了一个解决方案,但仍然无法找到解决方案。我可以使用Blob单独查看文件内容,因为我无法找到查看或显示特定Azure Explorer内文件的方法!

被修改: 这就是我尝试显示Blob的原因:

Blob

当我尝试上面的代码时,它会显示 // Retrieve storage account from connection string. CloudStorageAccount storageAccount = CloudStorageAccount.Parse( CloudConfigurationManager.GetSetting("StorageConnectionString")); // Create the blob client. CloudBlobClient blobClient = storageAccount.CreateCloudBlobClient(); // Retrieve reference to a previously created container. CloudBlobContainer container = blobClient.GetContainerReference("fyptest1"); // Retrieve reference to a blob named "myblob". CloudBlockBlob blockBlob = container.GetBlockBlobReference("myblob"); lboxblob.ItemsSource = container.ListBlobs();//lboxblob is the name of my listbox 之类的东西,依此类推几次。

任何帮助将不胜感激。

2 个答案:

答案 0 :(得分:3)

每个Azure存储“blob”都是“文件”。您希望在“blob容器”中列出“blob”,最有可能。

为此,请使用CloudBlobContainer.ListBlobs()方法。

https://msdn.microsoft.com/en-us/library/azure/dd135734.aspx

答案 1 :(得分:3)

这是因为绑定最终会在返回的每个列表项上调用ToString,这只会显示类型名称。如果您希望在列表框中看到URI,请将最后一行更改为:

lboxblob.ItemsSource = container.ListBlobs().Select(b => b.Uri);

但请参阅其他答案以获取正确的术语。正如其他人提到的,blob不包含其他对象,如文件。