Подтвердить что ты не робот

Как очистить контейнер Blob от Azure?

Я просто хочу очистить (дамп, zap, del.) контейнер Azure Blob. Как я могу это сделать?

Примечание. Контейнер используется журналами IIS (работает Webrole) (wad-iis-logfiles).

4b9b3361

Ответ 1

Один вкладыш, использующий Azure CLI 2.0:

az storage blob delete-batch --account-name <storage_account_name> --source <container_name>

Замените <storage_account_name> и <container_name> на соответствующие значения в вашем случае.

Вы можете увидеть помощь команды, выполнив:

az storage blob delete-batch -h

Ответ 2

Есть только один способ для массового удаления блобов, а это - удаление всего контейнера. Как вы сказали, существует задержка между удалением контейнера и повторным использованием этого имени контейнера.

Ваш единственный выбор - удалить один за раз. Если вы можете сделать удаление из того же центра обработки данных, где хранятся капли, это будет быстрее, чем запуск локального удаления. Это, вероятно, означает написание кода (или вы могли бы RDP в один из ваших экземпляров и установить облачный проводник). Если вы пишете код, вы можете ускорить общий процесс, удалив элементы параллельно. Нечто похожее на это будет работать:

Parallel.ForEach(myCloudBlobClient.GetContainerReference(myContainerName).ListBlobs(), x => ((CloudBlob) x).Delete());

Ответ 3

Обновление. Более простой способ сделать это сейчас (в 2018 году) - использовать интерфейс командной строки Azure. Проверьте Джоанлофе ответ :)


Самый простой способ сделать это в 2016 году - использовать Microsoft Azure Storage Explorer IMO.

  1. Загрузите Azure Storage Explorer и установите его
  2. Войдите, используя соответствующую учетную запись Microsoft
  3. Найдите контейнер, который хотите очистить
  4. Нажмите на кнопку Выбрать все
  5. Нажмите на кнопку Удалить

Screenshot

Ответ 4

Попробуйте использовать продукт cloudberry для windows azure

это ссылка: http://www.cloudberrylab.com/free-microsoft-azure-explorer.aspx

вы можете искать в блобе для конкретного расширения. выберите несколько блоков и удалите их

Ответ 5

Если вы хотите удалить контейнер. Я хотел бы предложить вам проверить http://msdn.microsoft.com/en-us/library/windowsazure/dd179408.aspx, чтобы увидеть, удалена ли операция контейнера (контейнер и любые складки, содержащиеся в нем, позже удаляются во время мусора сбор) может выполнить требование.

Ответ 6

Если вас интересует способ CLI, то следующий фрагмент кода поможет вам:

for i in `az storage blob list -c "Container-name" --account-name "Storage-account-name" --account-key "Storage-account-access-key" --output table | awk {'print $1'} | sed '1,2d' | sed '/^$/d'`; do az storage blob delete --name $i -c "Container-name" --account-name "Storage-account-name" --account-key "Storage-account-access-key" --output table; done

Сначала он извлекает список блоков в контейнере и удаляет их один за другим.

Ответ 7

Если вы используете кластер искры (HDInsight), который имеет доступ к этой учетной записи, то вы можете использовать команды HDFS в командной строке;

hdfs dfs -rm -r wasbs://[email protected]_name.blob.core.windows.net/path_goes_here

Реальная выгода заключается в том, что кластер вряд ли снизится, и если у вас на нем работает экран, вы не потеряете сеанс, пока вы удалите его.

Ответ 8

Вы можете использовать Cloud Combine, чтобы удалить все капли в вашем контейнере Azure.

Ответ 9

В этом случае лучшим вариантом является идентификация списка элементов, найденных в контейнере. затем удалите каждый элемент из контейнера. Это лучший вариант. Если вы удалите контейнер, у вас должна быть ошибка времени выполнения в следующий раз...