0

Я пытаюсь использовать SDK Azure Storage и пытаюсь определить, есть ли способ указать контейнер и найти количество содержащихся в нем блоков. В сообщениях, которые я видел до сих пор, упоминается только проверка по имени blob, что не соответствует моим потребностям.Azure Blob Storage - Как определить, содержит ли указанный контейнер какие-либо капли?

Если я сделать следующее:

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

Тогда я ударил с HTTP 404 Exception.

Есть ли способ обойти это?

+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

- то, что указанный контейнер пуст? –