Azure blob存储 - 虚拟目录是否具有子级?

时间:2017-08-03 10:25:28

标签: azure azure-storage azure-storage-blobs azure-blob-storage

我需要在文件资源管理器视图中显示所有azure blob的虚拟目录。从此文件资源管理器创建文件夹时,我已在该文件夹中上传了虚拟文件。 例如:如果我需要创建xyz文件夹,我将使用" https://abc.blob.core.windows.net/container/xyz/dummyfile.txt"上传文件。这个名字。列出文件夹&文件详细信息,排除了dummmyfile.txt。

以上情况正常。我在这里遇到小问题。在snap下方,每个文件夹都会显示+图标,该文件夹包含子文件夹/文件。我还需要一个名为HasChild的属性来执行此功能。有没有办法获得这些信息?

enter image description here

注意: 对于临时修复,我使用以下代码执行此操作:

var containerDetail = blobClient.GetContainerReference(containerName);
var hasChild = containerDetail.ListBlobs(virtualDirectoryPath).Count > 1;

1 个答案:

答案 0 :(得分:0)

Azure blob存储仅限二进制文件存储。没有底层操作系统实现文件夹或文件指针,因此您只能通过使用二进制文件名对其进行建模。假装存在文件夹结构的惯例是使用斜杠,但是如果你真的想要的话,你可以很容易地使用下划线,哈希标记或双重标记。虽然你必须上传一个文件夹内置了文件夹结构的空文件,但为了对其进行建模 - 正如你所看到的那样,使用count> 1。

CodeProject上有一篇很好的文章讨论modelling directory structures using Azure Blob Storage