Я пытаюсь запросить контейнеры и удалить внутри них BLOB-объекты на основе BLOB-объектов LastModifiedTime
.
. Это мой подход
a) ListContainers(null, ContainerListingDetails.None)
API для получения контейнеров
b) ListBlobs(null, true);
API для получения больших двоичных объектов
c) Затем для каждого большого двоичного объекта, основанного на измененном времени, выполните Delete
call
Производительность довольно ужасна для 100 контейнеров и ~30K капель в каждом.Итак, я решил параллельное удаление контейнера.Это улучшилось, но все еще медленно.
Как вы можете видеть, в LIST API я не выбираю детали BLOB-объектов, чтобы избежать дополнительной передачи данных.
Вопросы
a) Ожидает ли Azure Storage SDK полного удаления большого двоичного объекта при выполнении запроса Delete
или сразу же возвращается, когда сервер возвращает 202 (Accepted)
?(Удалить - это асинхронная операция, основанная на API-интерфейсе REST Azure Storage)
b) Есть ли лучший подход для выполнения вышеуказанного?С выпуском Управление жизненным циклом хранилища может оказаться идеальным задание политики хранения.