刚开始使用Windows Azure
和Mapreduce
。我已在HDInsight
内创建了Azure Portal
群集,并使用名为Block Blob
的{{1}}创建了Azure Explorer
。
我想知道的是,有没有办法列出BlobFiles
内Blob
范围内的所有文件?换句话说,如果我将文本文件和图像上传到同一个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
之类的东西,依此类推几次。
任何帮助将不胜感激。
答案 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不包含其他对象,如文件。