Загрузите файлы и папки из корзины 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 в браузере:

  1. Перейдите к: https://console.cloud.google.com/storage/browser/BUCKET_NAME.
  2. Найдите папку / файл, который хотите скачать.
  3. В правом верхнем углу страницы нажмите значок кода, чтобы открыть Cloud Shell.
  4. Создайте временную папку на виртуальной машине Cloud Shell: mkdir Data
  5. Скопируйте данные Cloud Storage на временный Data папка: gsutil -m cp -R gs://BUCKET_NAME/FOLDER_OR_FILE_PATH ./Data
  6. Скопируйте данные в zip-файл: zip -r Data.zip Data
  7. Загрузите 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')

Другие вопросы по тегам