Je veux juste nettoyer (dump, zap, del. ) un conteneur Azure Blob. Comment puis je faire ça?
Remarque: le conteneur est utilisé par les journaux IIS (exécutant Webrole) (wad-iis-logfiles).
Un liner utilisant Azure CLI 2.0:
az storage blob delete-batch --account-name <storage_account_name> --source <container_name>
Remplacez <storage_account_name>
et <container_name>
par les valeurs appropriées dans votre cas.
Vous pouvez voir l'aide de la commande en lançant:
az storage blob delete-batch -h
Il n’existe qu’un moyen de supprimer en bloc les blobs, à savoir la suppression de tout le conteneur. Comme vous l'avez dit, il y a un délai entre la suppression du conteneur et le moment où vous pouvez utiliser ce nom de conteneur à nouveau.
Votre seul autre choix est de supprimer celui-ci à la fois. Si vous pouvez effectuer la suppression à partir du même centre de données où les blobs sont stockés, cela sera plus rapide que d'exécuter la suppression localement. Cela signifie probablement que vous écrivez du code (ou vous pouvez utiliser RDP dans l’une de vos instances et installer Cloud Explorer). Si vous écrivez du code, vous pouvez accélérer le processus en supprimant les éléments en parallèle. Quelque chose de semblable à ceci fonctionnerait:
Parallel.ForEach(myCloudBlobClient.GetContainerReference(myContainerName).ListBlobs(), x => ((CloudBlob) x).Delete());
Mise à jour: Le moyen le plus simple de le faire maintenant (en 2018) consiste à utiliser l'interface de ligne de commande Azure. Vérifiez la réponse de joanlofe :)
Le moyen le plus simple de le faire en 2016 consiste à utiliser Microsoft Azure Storage Explorer IMO.
Essayez d’utiliser le produit cloudberry pour Windows Azure.
c'est le lien: http://www.cloudberrylab.com/free-Microsoft-Azure-Explorer.aspx
vous pouvez rechercher dans le blob une extension spécifique. sélectionnez plusieurs blobs et supprimez-les
Si vous voulez dire que vous voulez supprimer un conteneur. Je voudrais vous suggérer de vérifier http://msdn.Microsoft.com/en-us/library/windowsazure/dd179408.aspx pour voir si l'opération Supprimer le conteneur (le conteneur et tous les blobs qu'il contient sont postérieurs supprimé lors du ramassage des ordures) pourrait répondre à l'exigence.
Si vous êtes intéressé par une approche en ligne de commande, le code suivant vous aidera:
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
Il récupère d'abord la liste des blobs dans le conteneur et les supprime un à un.
Si vous utilisez un cluster spark (HDInsight) ayant accès à ce compte de stockage, vous pouvez utiliser les commandes HDFS sur la ligne de commande.
hdfs dfs -rm -r wasbs://container_name@account_name.blob.core.windows.net/path_goes_here
Le véritable avantage est qu'il est peu probable que le cluster tombe en panne et que, si un écran est en cours d'exécution sur celui-ci, vous ne perdrez pas votre session pendant la suppression.
Vous pouvez utiliser Cloud Combine pour supprimer tous les blobs de votre conteneur Azure.
Pour ce cas, la meilleure option consiste à identifier la liste des éléments présents dans le conteneur. puis supprimez chaque élément du conteneur. C'est la meilleure option. Si vous supprimez le conteneur, vous devriez avoir une erreur d'exécution la prochaine fois ...