Jaki jest najlepszy sposób pobierania wszystkich plików z Google Cloud Storage?
Jaki jest najlepszy sposób pobierania wszystkich plików z Google Cloud Storage?
Odpowiedzi:
Przyjrzyj się narzędziu gsutil . Możesz użyć polecenia cp z opcjami -R(rekurencyjnie) i -m(wielowątkowość).
gsutil -m cp -R gs://<bucket_name> .
A jeśli chcesz spróbować z publicznym wiadrem, spróbuj
gsutil -m cp -R gs://uspto-pair .
Przyspieszenie zapewniane przez wielowątkowość może być dość znaczące:
$ time gsutil cp -R gs://uspto-pair/docs/2010-08-28 .
...
real 0m12.534s
vs
$ time gsutil -m cp -R gs://uspto-pair/docs/2010-08-28 .
...
real 0m3.345s
-mflagi do wielowątkowości. Spowoduje to znaczne skrócenie czasu odpowiedzi dysku, ponieważ będzie stale przesuwać igły między różnymi plikami. Na początku próbowałem użyć -m, ale dysk stał się wąskim gardłem. Pominięcie -mflagi spowoduje, że dysk twardy będzie zapisywał się w tej samej fizycznej lokalizacji na dysku.
Dla tych, którzy chcą uniknąć instalowania narzędzi lokalnych, takich jak gsutil, istnieje sposób na pobranie plików i folderów z Google Cloud Storage w całości w przeglądarce:
mkdir DataDatafolderu tymczasowego :gsutil -m cp -R gs://BUCKET_NAME/FOLDER_OR_FILE_PATH ./Datazip -r Data.zip Datadl Data.ziplub: otwierając menu „...” na pasku narzędzi, naciskając „Pobierz plik”, wpisując Data.zipi naciskając „Pobierz”.Jako alternatywa dla kroków 6 i 7 (lub jeśli chcesz mieć plik tar zamiast zip):
. . 6b. Naciśnij ikonę komputera (lub ołówek) na pasku narzędzi, aby otworzyć eksplorator środowiska Cloud Shell w nowej karcie.
. . 7b. Kliknij prawym przyciskiem Datafolder w przeglądarce katalogów po lewej stronie i naciśnij „Pobierz”. Plik tar zostanie pobrany na komputer lokalny, który możesz następnie rozpakować za pomocą 7-Zip lub podobnego.
W przypadku, gdy gsutilrzuca wyjątek ( CommandException: Wrong number of arguments for "cp" command.), spróbuj wykonać następujące czynności:
gsutil -m cp -R gs://BUCKETNAME ./LOCALFOLDERNAME
W moim przypadku działało przejście do zasobnika w interfejsie użytkownika przeglądarki i kliknięcie lewym przyciskiem myszy na plik i „Zapisz plik”.
Jest to oczywiście okropne w przypadku wielu plików, ale można je oczywiście skompresować do jednego pliku (za pomocą konsoli Google Cloud).
zobacz ten wątek.
Ponadto, jeśli nie masz zasobnika , możesz go utworzyć , a następnie przesłać do niego za pomocą konsoli gcloud, npgsutil cp file.tgz gs://<bucket>
gsutilna komputerze lokalnym: stackoverflow.com/a/59567734/2441655
Oto, co zadziałało dla mnie:
Krok 1: zainstaluj gsutil na komputerze lokalnym: https://cloud.google.com/storage/docs/gsutil_install?hl=fr
Krok 2: skopiuj pliki z zasobnika na maszynę lokalną, wykonując polecenie:gsutil cp [-r if repository] gs://[BUCKET_NAME]/[OBJECT_NAME] [OBJECT_DESTINATION_IN_LOCAL]