如何使用c#获取Azure容器虚拟文件夹中的文件



我已经审查过了:正在获取容器中Azure blob文件的名称列表?

并且这个:https://feedback.azure.com/forums/287593-logic-apps/suggestions/16252474-list-files-in-folder-on-azure-blob-storage

但我还没有找到任何关于如何使用c#列出容器中特定虚拟文件夹中的文件的代码示例。这是我所能做到的。我看不出有任何方法可以在ListBlobs((方法中指定文件路径。

var blobStorageAccount = GetStorageAccount();
var blobClient = blobStorageAccount.CreateCloudBlobClient();
var blobContainer = blobClient.GetContainerReference(containerName);
List<string> blobNames = blobContainer.ListBlobs().OfType<CloudBlockBlob>().Select(b => b.Name).ToList();

没有子文件夹这样的东西。您有包含Blob的容器。您确实虚拟文件夹,例如

/container/virtualfolder/myblob

容器名称为container,blob名称为virtualfolder/myblob

您可以使用prefix参数列出虚拟文件夹中的所有Blob(请参阅文档(:

var blobStorageAccount = GetStorageAccount();
var blobClient = blobStorageAccount.CreateCloudBlobClient();
var blobContainer = blobClient.GetContainerReference(containerName);
List<string> blobNames = blobContainer.ListBlobs(prefix: "virtualfolder").OfType<CloudBlockBlob>().Select(b => b.Name).ToList();

Microsoft.Azure.Storage.Blob已弃用。使用Azure.Storage.Blob看起来像是:

List<string> blobNames = blobContainer.GetBlobs(prefix: "virtualfolder").Select(b => b.Name).ToList();

相关内容

最新更新