简体   繁体   English

如何列出目录Azure中包含的Blob

[英]How do I list blobs contained in a directory Azure

So I am trying to list blobs contained in a virtual folder let's call it "VF" 因此,我试图列出虚拟文件夹中包含的Blob,我们将其称为“ VF”

I have tried many methods for example: 我尝试了很多方法,例如:

var storageAccount = CloudStorageAccount.Parse("...");

var blobClient = storageAccount.CreateCloudBlobClient();

var container = blobClient.GetContainerReference("Container_Name");

List<IListBlobItem> blobslist = container.ListBlobsSegmentedAsync("VF", true).ToList();

But I receive errors like: 但是我收到如下错误:

Error: Argument 2: cannot convert from 'bool' to 'Microsoft.WindowsAzure.Storage.Blobl.BlobContinuationToken"}

I am trying to return file contents using an API, is this why I am receiving trouble and am using the incorrect methods? 我正在尝试使用API​​返回文件内容,这就是为什么我遇到麻烦并使用错误的方法吗?

Any help is greatly appreciated 任何帮助是极大的赞赏

You need to implement the usage of BlobContinuationToken correctly. 您需要正确实现BlobContinuationToken的用法。

Try it like this 像这样尝试

if (CloudStorageAccount.TryParse(connectionString, out CloudStorageAccount storageAccount))
{
    var context = new OperationContext();
    var options = new BlobRequestOptions();
    var cloudBlobClient = storageAccount.CreateCloudBlobClient();
    var cloudBlobContainer = cloudBlobClient.GetContainerReference(blobContainerName);
    BlobContinuationToken blobContinuationToken = null;
    do
    {
        var results = await cloudBlobContainer.ListBlobsSegmentedAsync(null, true, BlobListingDetails.All,
            null, blobContinuationToken, options, context);
        blobContinuationToken = results.ContinuationToken;
        foreach (var item in results.Results)
        {
            //do what you want with each blob
        }
    } while (blobContinuationToken != null);
}

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM