3

刚开始使用Windows Azureand Mapreduce。我已经在 中创建了一个HDInsight集群,Azure Portal并且还Block Blob使用Azure Explorer命名的BlobFiles.

我想知道的是,有没有办法列出 a 中的所有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

当我尝试上面的代码时,它会多次显示类似Microsoft.WindowsAzure.Storage.Blob.CloudBlockBlob, 的内容。

任何帮助,将不胜感激。

4

2 回答 2

3

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

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

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

于 2015-03-23T20:45:04.477 回答
3

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

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

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

于 2015-03-20T14:40:30.697 回答