【问题标题】:How I get all blobs and not only the blobs in the root directory我如何获取所有 blob 而不仅仅是根目录中的 blob
【发布时间】:2019-06-29 12:33:45
【问题描述】:

如何从我的 azure 存储容器变成所有 blob,而不仅仅是根中的 blob?

private CloudBlobContainer GetCloudBlobContainer()
        {

            CloudStorageAccount storageAccount = CloudStorageAccount.Parse("DefaultEndpointsProtocol=https;AccountName=*;AccountKey=*;EndpointSuffix=core.windows.net");
            CloudBlobClient blobClient = storageAccount.CreateCloudBlobClient();
            CloudBlobContainer container = blobClient.GetContainerReference("test123");

            return container;
        }

        public ActionResult ListBlobs()
        {
            CloudBlobContainer container = GetCloudBlobContainer();
            List<string> blobs = new List<string>();
            BlobResultSegment resultSegment = container.ListBlobsSegmentedAsync(null).Result;
            foreach (IListBlobItem item in resultSegment.Results)
            {
                if (item.GetType() == typeof(CloudBlockBlob))
                {
                    CloudBlockBlob blob = (CloudBlockBlob)item;
                    blobs.Add(blob.Name);
                }
                else if (item.GetType() == typeof(CloudPageBlob))
                {
                    CloudPageBlob blob = (CloudPageBlob)item;
                    blobs.Add(blob.Name);
                }
                //Directory
                else if (item.GetType() == typeof(CloudBlobDirectory))
                {
                    CloudBlobDirectory dir = (CloudBlobDirectory)item;
                    blobs.Add(dir.Uri.ToString());
                }
            }

            return View(blobs);
        }

代码仅返回根目录上的 blob。但我也想在目录中获取 blob。

谢谢

【问题讨论】:

  • 看看ListBlobsSegmentedAsync方法的各种重载...
  • 另外,请不要使用.Result,正确使用asyncawait,否则会出现问题。

标签: c# asp.net-mvc azure-blob-storage


【解决方案1】:

调用ListBlobsSegmentedAsync方法时请指定useFlatBlobListing为true。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2019-04-16
    • 2015-08-04
    • 1970-01-01
    • 2017-07-27
    • 1970-01-01
    • 2019-01-22
    • 1970-01-01
    相关资源
    最近更新 更多