В облаке Google хранится большое количество zip-файлов, которые я хотел бы загрузить, я хотел бы, чтобы скрипт делал это, поэтому мне не нужно делать это по одному.
Я попытался загрузить один файл, используя
curl -o https://storage.cloud.google.com/foo.zip
но я получаю сообщение об ошибке, в котором говорится, что URL не указан.
Может быть, curl - неправильная функция для этого?
Я хотел бы загрузить несколько почтовых индексов, размещенных в облаке Google, которые перечислены в файле .txt одновременно или один за другим.
Спасибо, norbjd, я надеялся сделать это без использования Google Cloud.
Есть 2 решения для загрузки ваших файлов с помощью командной строки.
gsutil
Вы можете просто использовать команду gsutil cp
:
gsutil cp gs://[BUCKET_NAME]/foo.zip .
Вы также можете взглянуть на gsutil rsync
команда.
cURL
Если использование gsutil
невозможно, вы все равно можете использовать cURL
, но вам может потребоваться пройти аутентификацию, если объект внутри вашей корзины не является общедоступным (я предполагаю, что вы не хотите, чтобы ваши объекты были здесь общедоступными).
Из документы о загрузке объектов (вкладка REST APIS):
curl -X GET \
-H "Authorization: Bearer [OAUTH2_TOKEN]" \
-o "[SAVE_TO_LOCATION]" \
"https://www.googleapis.com/storage/v1/b/[BUCKET_NAME]/o/[OBJECT_NAME]?alt=media"
Как видите, для этого вам понадобится токен авторизации oauth2 (см. документы о том, как пройти аутентификацию в облачном хранилище).
Однако, даже если это возможно, я настоятельно рекомендую вам использовать первый вариант (gsutil
), как указано в документы:
To easily download all objects in a bucket or subdirectory, use the
gsutil cp
command.
Почему бы вам не использовать команду
gsutil cp
(cloud.google.com/storage/docs/gsutil/commands/cp)?