How to get only folder name in blob using new Azure.Storage.Blobs namespace

Ami*_*han 5 c# azure azure-blob-storage

快照

I want to get all the folder name under a container using new SDK - Azure.Storage.Blobs

Gau*_*tri 4

您可能希望在类GetBlobsByHierarchy中使用方法BlobContainerClient并传递“/”作为前缀。该方法将返回根级别的所有 blob 和文件夹。一旦你得到了它,你只需要通过从结果中选择属性为 true 的项目来过滤掉 blob IsPrefix(或者你可以检查Blob属性为null)。

请尝试如下操作:

        var connectionString = "DefaultEndpointsProtocol=https;AccountName=<account-name>;AccountKey=<account-key>;EndpointSuffix=core.windows.net;";
        var containerName = "test";
        var containerClient = new BlobContainerClient(connectionString, containerName);
        var blobFolders = containerClient.GetBlobsByHierarchy(BlobTraits.None, BlobStates.None, "/").Where(b => b.IsPrefix).ToList();
        for (var i=0; i<blobFolders.Count; i++)
        {
            Console.WriteLine("Folder Prefix: " + blobFolders[i].Prefix);
        }
Run Code Online (Sandbox Code Playgroud)