Как лучше всего загрузить все файлы из 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 на новой вкладке.
. . 7b. Щелкните правой кнопкой мыши 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]