有没有办法知道blob文件是否存在于容器中而没有获取整个blob对象列表?
谢谢,
答案 0 :(得分:2)
如果您知道blob的地址,Azure SDK中的提示是首先构建CloudBlockBlob
(或CloudPageBlob
),然后调用FetchAttributes
。如果无法找到blob,此调用将抛出StorageClientException
。
来自CloudBlobClient.GetBlockBlobReference
文档:
FetchAttributes方法执行HEAD请求以填充 blob的属性和元数据,因此是一个轻量级选项 确定斑点是否存在。
答案 1 :(得分:1)
从Windows Azure存储客户端库2.0开始,blob包含方法Exists(),例如:blob.Exists()
BlobContainer
也是如此。
答案 2 :(得分: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;
}
}
}