0

我正在尝试使用Azure存储SDK并试图确定是否有方法可以指定容器并查找其包含的斑点数。我迄今为止看到的帖子只提到用blob的名称进行检查,这不符合我的需要。Azure Blob存储 - 如何确定指定的容器是否包含任何Blob?

如果我做到以下几点:

CloudBlobContainer blobContainer = blobClient.GetContainerReference("my-container"); 
var blobCount = blobContainer.ListBlobs().Count(); 

然后我打了HTTP 404异常。

有什么办法可以解决这个问题吗?

+0

我在想你为什么得到HTTP 404异常。代码应该运行良好。你能在这里粘贴StorageException.ToString()的值吗? –

回答

0

您可以通过使用此代码检查计数:

CloudBlobContainer blobContainer = blobClient.GetContainerReference("my-container"); 
blobContainer.FetchAttributes(); 
string count = blobContainer.Metadata["ItemCount"]; 
int ItemCount; 
if(int.Tryparse(count ,out ItemCount)) 
{ 
    if(ItemCount>0) 
    // Container is not Empty 
    else 
    // Container is Empty 
} 
else 
{ 
    // Conversion failed; 
} 
+0

不幸的是,blobContainer.FetchAttributes()行不返回任何内容。元数据字典返回空白。 – RizJa

+0

是指定的容器是空的吗? –