Сколько дисков используется хранилищем больших двоичных объектов Azure?

#azure-blob-storage

Вопрос:

Я хотел бы определить, сколько места на диске используют мои большие двоичные объекты Azure с помощью Java API Azure. В принципе, я бы хотел что-то похожее на команду df Unix:

 >df
Filesystem        1K-blocks      Used Available Use% Mounted on
C:/Tools/cygwin64 248717308 217102536  31614772  88% /
 

Я перепробовал множество способов, надеясь, что нужная мне информация содержится в метаданных или свойствах CloudBlobContainer, но, по-видимому, нет. Я запустил следующий код и изучил различные переменные в отладчике, но не увидел ничего близкого к тому, что я ищу.

     CloudBlobContainer container = ...
    try {
        AccountInformation accountInfo = container.downloadAccountInfo();
        container.downloadAttributes();
        HashMap<String, String> metadata = container.getMetadata();
        BlobContainerProperties properties = container.getProperties();
        String string = metadata.toString();
    } catch (StorageException e) { // ...
 

Я надеюсь, что мне не придется рекурсивно обрабатывать все большие двоичные объекты в контейнере. Есть ли лучший способ?

Комментарии:

1. Вам нужны эти данные для отдельного контейнера или для всей учетной записи хранения?

2. Для отдельного контейнера. (Но мне также было бы интересно услышать обо всей учетной записи.)

Ответ №1:

Для отдельного контейнера больших двоичных объектов используемый вами подход является единственным доступным сегодня подходом, хотя я должен сказать, что он не очень эффективен, поскольку он будет учитывать только базовые большие двоичные объекты, а не моментальные снимки и версии больших двоичных объектов. Кроме того, если вы используете большие двоичные объекты страниц, то он будет сообщать об общей емкости этих больших двоичных объектов страниц вместо занятых байтов.

Однако, если вы хотите получить размер хранилища для всей учетной записи хранения, один из подходов, на который вы можете взглянуть, заключается Azure Storage Metrics в следующем . Один из доступных показателей, BlobCapacity который покажет вам общее количество байтов, занятых всеми большими двоичными объектами в вашей учетной записи хранения. Вы можете узнать больше о доступных показателях здесь: https://docs.microsoft.com/en-us/azure/azure-monitor/essentials/metrics-supported#microsoftstoragestorageaccountsblobservices.

Другим вариантом было бы просмотреть данные о потреблении через API выставления счетов. Это не так просто, но это даст вам наиболее точные цифры, потому что цифры в конечном итоге преобразуются в ваш счет Azure. Операция REST API, которую вы хотели бы вызвать, такова Usage Details - List .