Загрузите файлы и папки из корзины Google Storage в локальную папку
Какой лучший способ загрузить все файлы из Google Cloud Storage?
3 ответа
Посмотрите на инструмент 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
Для тех, кто не хочет устанавливать локальные инструменты, такие как gsutil
, есть способ полностью загрузить файлы и папки из Google Cloud Storage в браузере:
- Перейдите к: https://console.cloud.google.com/storage/browser/BUCKET_NAME.
- Найдите папку / файл, который хотите скачать.
- В правом верхнем углу страницы нажмите значок кода, чтобы открыть Cloud Shell.
- Создайте временную папку на виртуальной машине Cloud Shell:
mkdir Data
- Скопируйте данные Cloud Storage на временный
Data
папка:gsutil -m cp -R gs://BUCKET_NAME/FOLDER_OR_FILE_PATH ./Data
- Скопируйте данные в zip-файл:
zip -r Data.zip Data
- Загрузите zip-файл, запустив
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
Вот что сработало для меня:
Шаг 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]
В моем случае, что работало, так это переход к корзине в графическом интерфейсе браузера и щелчок левой кнопкой мыши по файлу и "Сохранить файл".
Это очевидно ужасно для нескольких файлов, но вы, конечно, можете сжать их в один файл (используя облачную консоль Google).
увидеть эту тему.
Кроме того, если у вас нет корзины, вы можете ее создать, а затем загрузить в нее с помощью консоли gcloud, например: gsutil cp file.tgz gs://<bucket>
Используйте приведенный ниже пример кода для загрузки папки из облачного хранилища Google непосредственно в локальную папку os.system('gsutil -m cp -R gs://abc/ ./downloadtolocal')