web-dev-qa-db-ja.com

AzureストレージBLOBコンテナーをクリーンアップする方法

Azure Blobコンテナーをクリーンアップ(ダンプ、ザップ、デル)したいだけです。どうやってやるの?

注:コンテナーは、IIS(Webroleを実行)ログ(wad-iis-logfiles)によって使用されます。

29

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
14
joanlofe

Blobを一括削除する方法は1つだけです。それは、コンテナー全体を削除することです。あなたが言ったように、コンテナーを削除してからそのコンテナー名を再び使用できるようになるまでには遅延があります。

他に選択できるのは、一度に1つずつ削除することです。 BLOBが保存されているのと同じデータセンターから削除できる場合は、ローカルで削除を実行するよりも高速です。これはおそらくコードを書くことを意味します(または、インスタンスの1つにRDPを実行してクラウドエクスプローラーをインストールすることもできます)。コードを記述している場合は、アイテムを並行して削除することで、プロセス全体を高速化できます。これに似た何かがうまくいくでしょう:

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

更新:今すぐ(2018年に)実行する簡単な方法は、Azure CLIを使用することです。チェック ジョアンロフェの答え :)


2016年にこれを行う最も簡単な方法は、Microsoft Azure Storage Explorer IMOを使用することです。

  1. Azure Storage Explorerをダウンロードしてインストールする
  2. 適切なMicrosoftアカウントでサインインします
  3. 空にするコンテナを参照します
  4. [すべて選択]ボタンをクリックします
  5. 削除ボタンをクリックします

Screenshot

13
gldraphael

Windows AzureにCloudberry製品を使用してみてください

これはリンクです: http://www.cloudberrylab.com/free-Microsoft-Azure-Explorer.aspx

blobで特定の拡張子を検索できます。複数のブロブを選択して削除する

6
Ram

コンテナを削除したい場合。 http://msdn.Microsoft.com/en-us/library/windowsazure/dd179408.aspx を確認して、コンテナ削除操作(コンテナと、後でガベージコレクション中に削除されます)、要件を満たすことができます。

5
Ming Xu - MSFT

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

まず、コンテナー内のblobのリストをフェッチし、それらを1つずつ削除します。

4
Spaniard89

そのストレージアカウントにアクセスできるspark(HDInsight)クラスターを使用している場合は、コマンドラインでHDFSコマンドを使用できます。

hdfs dfs -rm -r wasbs://container_name@account_name.blob.core.windows.net/path_goes_here

本当の利点は、クラスターがダウンする可能性が低く、画面で実行している場合でも、削除している間にセッションが失われないことです。

3
Glen

Cloud Combine を使用して、Azureコンテナー内のすべてのblobを削除できます。

2
ezolotko

この場合、コンテナで見つかったアイテムのリストを特定することをお勧めします。次に、コンテナから各アイテムを削除します。それが最良の選択です。コンテナーを削除すると、次回にランタイムエラーが発生するはずです...

1
Hope