Який найкращий спосіб завантажити всі файли з Google Cloud Storage?
Який найкращий спосіб завантажити всі файли з Google Cloud Storage?
Відповіді:
Погляньте на інструмент gsutil . Ви можете використовувати команду cp з опцією -R
(рекурсивно) та -m
(багатопотоковість).
gsutil -m cp -R gs://<bucket_name> .
А якщо ви хочете спробувати із загальнодоступним сегментом, спробуйте
gsutil -m cp -R gs://uspto-pair .
Швидкість, надана багатопотоковістю, може бути досить значною:
$ time gsutil cp -R gs://uspto-pair/docs/2010-08-28 .
...
real 0m12.534s
проти
$ time gsutil -m cp -R gs://uspto-pair/docs/2010-08-28 .
...
real 0m3.345s
-m
прапор для багатопоточності. Це значно зменшить час відгуку диска, оскільки він буде постійно переміщати голки між різними файлами. Я спробував використовувати -m
спочатку, лише щоб диск став вузьким місцем. Якщо не вказати -m
прапорець, жорсткий диск залишатиметься в тому ж фізичному місці на диску.
Для тих, хто хоче уникнути встановлення локальних інструментів, наприклад gsutil
, існує спосіб завантажити файли та папки з Google Cloud Storage повністю у браузері:
mkdir Data
Data
папку:gsutil -m cp -R gs://BUCKET_NAME/FOLDER_OR_FILE_PATH ./Data
zip -r Data.zip Data
dl Data.zip
, або: відкривши спадне меню "..." на панелі інструментів, натиснувши "Завантажити файл", набравши текст Data.zip
і натиснувши "Завантажити".Як альтернативу крокам 6 та 7 (або якщо вам потрібен файл tar, а не zip):
. . 6б. Натисніть піктограму комп'ютера (або олівець) на панелі інструментів, щоб відкрити провідник середовища Cloud Shell у новій вкладці.
. . 7б. Клацніть правою кнопкою миші Data
папку в браузері каталогів ліворуч і натисніть "Завантажити". Файл tar буде завантажений на вашу локальну машину, який потім можна витягти за допомогою 7-Zip або подібного.
У разі gsutil
виникнення винятку ( CommandException: Wrong number of arguments for "cp" command.
) спробуйте наступне:
gsutil -m cp -R gs://BUCKETNAME ./LOCALFOLDERNAME
У моєму випадку, що спрацювало, це перехід до сегмента в графічному інтерфейсі браузера та клацання лівою кнопкою миші на файлі та "Зберегти файл".
Це, очевидно, страшно для декількох файлів, але ви можете, звичайно, стиснути їх до одного файлу (за допомогою хмарної консолі Google).
дивіться цю тему.
Крім того, якщо у вас немає відра, ви можете створити його , а потім завантажити в нього за допомогою консолі gcloud, наприкладgsutil cp file.tgz gs://<bucket>
gsutil
на локальному комп'ютері: stackoverflow.com/a/59567734/2441655
Ось, що мені вдалося:
Крок 1: Встановіть gsutil на локальній машині: https://cloud.google.com/storage/docs/gsutil_install?hl=fr
Крок 2: скопіюйте файли з відра на локальну машину за допомогою команди:gsutil cp [-r if repository] gs://[BUCKET_NAME]/[OBJECT_NAME] [OBJECT_DESTINATION_IN_LOCAL]