列出所有容器和blob

Hub*_*y03 4 .net c# azure visual-studio azure-storage-blobs

我正在使用容器和blob处理Azure Local Development Storage.我希望能够在列表框中显示我的所有容器和blob,就像我的本地开发存储的树视图一样.这是我的代码:

public List<string> ListContainer()
    {
        List<string> blobs = new List<string>();

        // Retrieve storage account from connection string.
        CloudStorageAccount storageAccount = CloudStorageAccount.Parse(
            CloudConfigurationManager.GetSetting("AzureStorageConnectionString"));

        // Create the blob client.
        CloudBlobClient blobClient = storageAccount.CreateCloudBlobClient();

        //Get the list of the blob from the above container

        IEnumerable<CloudBlobContainer> containers = blobClient.ListContainers();

        foreach (CloudBlobContainer item in containers)
        {
            blobs.Add(string.Format("{0}", item.Uri.Segments[2]));
        }

        return blobs;
    }
Run Code Online (Sandbox Code Playgroud)

我在这里展示我的所有容器.我需要显示每个容器的所有blob,以及子文件夹.

Pet*_*ter 5

您正在迭代容器,而不是容器中的blob.在每个容器上,您需要调用ListBlobs.

您的代码将类似于:

foreach (CloudBlobContainer item in containers)
    {
        foreach (IListBlobItem blob in item.ListBlobs()){
            blobs.Add(string.Format("{0}", blob.Uri.Segments[2]));
        }
    }
Run Code Online (Sandbox Code Playgroud)