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

标签 c# azure azure-blob-storage

我已经评论过这个: Getting list of names of Azure blob files in a container?

还有这个: 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(请参阅 the docs ):

        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();

关于c# - 如何使用 C# 获取 Azure 容器虚拟文件夹中的文件,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/51599736/

相关文章:

c# - 泛型类的静态成员是否绑定(bind)到特定实例?

azure - 上传到 Blob 存储,同时覆盖现有 Blob

c# - 是否可以列出上次修改日期 > 某个日期的 Azure Blob

具有多个客户端的 Azure APIM 和 oAuth 2.0

azure - 如何通过动态资源分配来运行spark + cassandra + mesos (dcos)?

azure - 更新 Azure Blob 存储中的元数据 BlockBlob

Azure Blob - 是否有查询字符串选项来指定内容类型?

c# - 将枚举转换为整数

c# - 如何在 C# 中以相同的顺序将列表中的键添加到哈希表

c# - 在非管理员帐户上自动启动具有管理员权限的 WinForms 应用程序