#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
.