0

有没有办法在不获取整个 blob 对象列表的情况下知道容器内是否存在 blob 文件?

谢谢,

4

3 回答 3

2

如果您知道 blob 的地址,Azure SDK 的提示是首先构建 a CloudBlockBlob(或 a CloudPageBlob),然后调用FetchAttributes. StorageClientException如果找不到该 blob,此调用将抛出 a 。

CloudBlobClient.GetBlockBlobReference文档中:

FetchAttributes 方法执行 HEAD 请求以填充 blob 的属性和元数据,因此是确定 blob 是否存在的轻量级选项。

于 2012-06-10T11:23:02.017 回答
1

从 Windows Azure 存储客户端库 2.0 开始,blob 包含方法 Exists(),例如:blob.Exists()

也是如此BlobContainer

于 2014-06-04T13:11:08.063 回答
0

这是我正在使用的代码

    public static bool Exists(this CloudBlob blob)
    {
        try
        {   
            blob.FetchAttributes();
            return true;
        }
        catch (StorageClientException e)
        {
            if (e.ErrorCode == StorageErrorCode.ResourceNotFound)
            {
                return false;
            }
            else
            {
                throw;
            }
        }
    }
于 2012-06-10T14:43:23.020 回答