Po prostu chcę wyczyścić (zrzut, zap, del .) kontener Blob Azure. Jak mogę to zrobić?Jak wyczyścić pojemnik na bloki platformy Azure?
Uwaga: Kontener jest używany przez logi IIS (uruchomione Webrole) (wad-iis-logfiles).
Po prostu chcę wyczyścić (zrzut, zap, del .) kontener Blob Azure. Jak mogę to zrobić?Jak wyczyścić pojemnik na bloki platformy Azure?
Uwaga: Kontener jest używany przez logi IIS (uruchomione Webrole) (wad-iis-logfiles).
Jeden liner pomocą Azure CLI 2.0:
az storage blob delete-batch --account-name <storage_account_name> --source <container_name>
Zastępca <storage_account_name>
i <container_name>
przez odpowiednie wartości w Twoim przypadku.
Można zobaczyć pomoc do commnand uruchamiając:
az storage blob delete-batch -h
Jeśli chcesz usunąć kontener. Chciałbym zasugerować, aby sprawdzić http://msdn.microsoft.com/en-us/library/windowsazure/dd179408.aspx, aby zobaczyć, czy operacja usuwania kontenera (pojemnik i wszystkie znajdujące się w nim bąble są później usuwane podczas usuwania śmieci) może spełnić to wymaganie.
Problem z tym podejściem polega na tym, że Webrole ulegnie awarii, jeśli kontener nie zostanie znaleziony, zanim utworzy nowy o tej samej nazwie. –
W takim przypadku jedyną opcją jest wyświetlenie wszystkich elementów w kontenerze i usunięcie ich pojedynczo. – knightpfhor
@knightpfhor to właśnie robię z Azure Storage Explorer (od Neudesic). Ale pomimo tego, że mogę wybrać grupę do usunięcia razem, jest to powolne. –
Istnieje tylko jeden sposób zbiorczego usuwania obiektów typu blob i polega to na usuwaniu całego kontenera. Jak już powiedziałeś, istnieje opóźnienie między usunięciem kontenera a ponownym użyciem tej nazwy kontenera.
Twoim jedynym wyjściem jest usunięcie jednego na raz. Jeśli możesz wykonać usuwanie z tego samego centrum danych, w którym przechowywane są obiekty blob, będzie to szybsze niż usuwanie lokalnie. Prawdopodobnie oznacza to pisanie kodu (lub możesz RDP w jednej ze swoich instancji i zainstalować eksploratora chmur). Jeśli piszesz kod, możesz przyspieszyć cały proces, usuwając elementy równolegle. Coś podobnego do tego mogłoby zadziałać:
Parallel.ForEach(myCloudBlobClient.GetContainerReference(myContainerName).ListBlobs(), x => ((CloudBlob) x).Delete());
działa bardzo ładnie - dzięki! Jedną z poprawek byłoby zwrócenie plików jako listy płaskiej w przypadku użycia folderów: 'Parallel.ForEach (blobContainer.ListBlobs (useFlatBlobListing: true), x => ((CloudBlob) x) .Delete());' – Eleasar
Tak, masz rację, to z pewnością bezpieczniejsza opcja. – knightpfhor
W tym przypadku lepszym rozwiązaniem jest zidentyfikowanie listy przedmiotów znalezionych w pojemniku. następnie usuń każdy element z pojemnika. To najlepsza opcja. Jeśli usuniesz pojemnik trzeba mieć błąd czasu bieg na następny raz ...
Spróbuj użyć produkt cloudberry dla Windows Azure
to jest link: http://www.cloudberrylab.com/free-microsoft-azure-explorer.aspx
można szukać w blob dla określonego rozszerzenia. zaznacz wiele obiektów typu blob i usuń je
Darmowe narzędzie działa idealnie - bardzo przydatne - dzięki –
Możesz użyć Cloud Combine, aby usunąć wszystkie obiekty typu blob w kontenerze platformy Azure.
Najprostszym sposobem, aby to zrobić w 2016 roku, jest korzystanie z Microsoft Azure Storage Explorer IMO.
W tym przypadku bardzo ważna jest sytuacja - musisz trafić więcej, aż dotrzesz do ostatniej strony obiektów typu blob, a następnie wybierz opcję zaznacz wszystko. A następnie usuń. –
@RobertoBonini dodał kroki. O tym, co pamiętam, nie będę musiał ładować do końca. – gldraphael
Wybierz wszystko, co można zrobić dla "wszystko na stronie" i "wszystko w pamięci podręcznej", nie ma potrzeby ładowania wszystkich stron. Świetne narzędzie btw, dzięki za udostępnienie tej informacji. –
Jeśli jesteś zainteresowany w sposób CLI, to następujący fragment kodu będzie ci pomóc:
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
Najpierw pobiera listę bąble w pojemniku i usuwa je jeden po drugim.
Jeśli używasz klastra iskier (HDInsight), który ma dostęp do tego konta magazynu, możesz użyć poleceń HDFS w wierszu poleceń;
hdfs dfs -rm -r wasbs://[email protected]_name.blob.core.windows.net/path_goes_here
Prawdziwą korzyścią jest to, że klaster jest mało prawdopodobne, aby przejść w dół, a jeśli masz ekran działa na niego, to nie straci swoją sesję podczas gdy usuniesz z dala.
to pytanie odpowiada [tutaj] (https://stackoverflow.com/questions/10426213/how-to-clean-an-azure -zamknięty pojemnik). – joanlofe