web-dev-qa-db-de.com

So reinigen Sie einen Azure-Speicher-Blob-Container

Ich möchte nur einen Azure Blob-Container löschen (dump, zap, del. ). Wie kann ich das machen?

Hinweis: Der Container wird von IIS -Protokollen (die Webrole ausführen) (wad-iis-logfiles) verwendet.

25

Ein Liner mit Azure CLI 2.0:

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

Ersetzen Sie <storage_account_name> und <container_name> durch die entsprechenden Werte in Ihrem Fall.

Sie können die Hilfe des Befehls anzeigen, indem Sie Folgendes ausführen:

az storage blob delete-batch -h
10
joanlofe

Es gibt nur eine Möglichkeit zum Löschen von Blobs, und zwar durch Löschen des gesamten Containers. Wie Sie bereits sagten, gibt es eine Verzögerung zwischen dem Löschen des Containers und dem erneuten Verwenden des Containernamens.

Die einzige andere Möglichkeit ist, die eine zu löschen. Wenn Sie aus demselben Rechenzentrum löschen können, in dem die Blobs gespeichert sind, ist dies schneller als das lokale Löschen. Dies bedeutet wahrscheinlich, dass Code geschrieben wird (oder Sie können RDP in einer Ihrer Instanzen verwenden und Cloud Explorer installieren). Wenn Sie Code schreiben, können Sie den gesamten Prozess beschleunigen, indem Sie die Elemente parallel löschen. Etwas ähnliches würde funktionieren:

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

Update: Die einfachere Möglichkeit, dies jetzt (2018) zu tun, besteht in der Verwendung der Azure-CLI. Überprüfen Sie joanlofes answer :)


Der einfachste Weg, dies im Jahr 2016 zu tun, ist die Verwendung von Microsoft Azure Storage Explorer IMO.

  1. Laden Sie den Azure Storage Explorer herunter und installieren Sie ihn
  2. Melden Sie sich mit dem entsprechenden Microsoft-Konto an
  3. Navigieren Sie zu dem Container, den Sie leeren möchten
  4. Klicken Sie auf die Schaltfläche Alle auswählen
  5. Klicken Sie auf die Schaltfläche Löschen

Screenshot

13
gldraphael

Verwenden Sie das Cloudberry-Produkt für Windows Azure

dies ist der Link: http://www.cloudberrylab.com/free-Microsoft-Azure-Explorer.aspx

sie können im Blob nach bestimmten Erweiterungen suchen. Mehrere Blobs auswählen und löschen

6
Ram

Wenn Sie meinen, dass Sie einen Container löschen möchten. Ich möchte Sie dazu auffordern, mit http://msdn.Microsoft.com/de-de/library/windowsazure/dd179408.aspx nachzuschauen, ob die Operation zum Löschen eines Containers (der Container und die darin enthaltenen Blobs später sind) bei der Müllsammlung gelöscht) könnte die Anforderung erfüllen. 

5
Ming Xu - MSFT

Wenn Sie sich für eine CLI-Methode interessieren, hilft Ihnen der folgende Code:

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

Es ruft zunächst die Liste der Blobs im Container ab und löscht sie nacheinander.

3
Spaniard89

Wenn Sie einen Spark-Cluster (HDInsight) verwenden, der Zugriff auf dieses Speicherkonto hat, können Sie HDFS-Befehle in der Befehlszeile verwenden.

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

Der eigentliche Vorteil ist, dass der Cluster wahrscheinlich nicht heruntergefahren wird. Wenn Sie einen Bildschirm darauf laufen lassen, verlieren Sie Ihre Sitzung nicht, während Sie ihn löschen.

3
Glen

Sie können Cloud Combine verwenden, um alle Blobs in Ihrem Azure-Container zu löschen.

2
ezolotko

In diesem Fall besteht die bessere Möglichkeit darin, die Liste der im Container gefundenen Elemente zu identifizieren. dann löschen Sie jeden Artikel aus dem Container. Das ist die beste Option. Wenn Sie den Container löschen, sollten Sie beim nächsten Mal einen Laufzeitfehler haben ...

1
Hope