gpt4 book ai didi

azure - 如何检查CloudBlobDirectory是否存在?

转载 作者:行者123 更新时间:2023-12-04 17:26:09 24 4
gpt4 key购买 nike

在我正在编程的软件中,我尝试在 Azure 的 blob 结构上创建虚拟文件系统。

在此过程中,我多次从系统获取路径,我需要判断该路径是 Blob 的路径,还是 azure 提供的虚拟 BlobDirectory 的路径。我通过将其从一种形式转换为另一种形式并处理错误来做到这一点。

但是现在,如果我知道一个路径指向一个虚拟目录,我如何检查这个虚拟目录是否存在?

我可以使用以下代码获取对 CloudBlobDirectory 的引用:

var blobDirectory = client.GetBlobDirectoryReference("Path_to_dir");

最佳答案

在 blob 存储中,目录本身并不作为项目存在。您可以拥有一个 blob,其名称可以解释为位于目录中。如果你看看底层的REST API你会发现里面没有任何关于目录的内容。存储客户端库正在为您做的是搜索以目录名称开头然后是分隔符的 blob,例如“目录A/目录B/文件名.txt”。这意味着目录要存在,它必须包含一个 blob。要检查该目录是否存在,您可以尝试:

var blobDirectory = client.GetBlobDirectoryReference("Path_to_dir");
bool directoryExists = blobDirectory.ListBlobs().Count() > 0

bool directoryExists = client.ListBlobsWithPrefix("DirectoryA/DirectoryB/").Count() > 0

我知道仅仅为了获取计数而列出目录中的所有内容并不是一个好主意,我相信您可以想出更好的方法。

关于azure - 如何检查CloudBlobDirectory是否存在?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/9189344/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com