Перемещайте большое количество папок и файлов внутри корзины GCS

У меня есть ведро на GCP, и на верхнем уровне этого ведра у меня есть куча папок.

Я хочу создать новую папку и переместить в нее все остальные.

Однако я установил свою корзину с gcsfuse и попробовал традиционные mv команды Linux. Очевидно, это недопустимо.

Точно так же я пробовал gsutil -m mv gs://mybucket/* gs://mybucket/new_folder/ и получил сообщение об ошибке команды, что в этой операции нельзя использовать подстановочные знаки.

Как лучше всего переместить такое большое количество файлов в новый каталог?


person rocksNwaves    schedule 20.08.2020    source источник
comment
может быть, команда 'ls', чтобы получить список файлов, а затем перебирать список, перемещая отдельные файлы?   -  person Kolban    schedule 20.08.2020
comment
1/2) Несколько концепций для облачного хранилища. 1) Объекты неизменяемы, что означает, что вы не можете их переименовать. Вы должны скопировать объекты и удалить оригинал, чтобы имитировать изменение имени. 2) Каталоги / папки не существуют. Пространство имен плоское, все объекты находятся в корневом каталоге. Внешний вид папок - это лишь часть имени объекта. 3) Cloud Storage поддерживает внутреннее копирование объекта. Будьте осторожны, чтобы не использовать функцию, которая сначала загружает объект, а затем выгружает его.   -  person John Hanley    schedule 20.08.2020
comment
2/2) 4) Теперь, когда эти концепции известны, вам нужно будет использовать такой инструмент, как gsutil для каждого объекта, чтобы инициировать переименование / перемещение, которое вы хотите.   -  person John Hanley    schedule 20.08.2020
comment
Спасибо @JohnHanley. Да, я вроде как пришел к осознанию того, что вы говорите, что заставило меня отказаться от идеи перемещения всех этих объектов в папку вне корневого каталога. Вы, кажется, настоящий гений в этом деле. Чем вы зарабатываете себе на жизнь?   -  person rocksNwaves    schedule 20.08.2020


Ответы (1)


Публикация этого как ответа сообщества Wiki на основе комментариев, предоставленных @JohnHanley.

Обратите внимание на несколько концепций облачного хранилища.

  1. Объекты неизменяемы, а это значит, что вы не можете их переименовать. Вы должны скопировать объекты и удалить оригинал, чтобы имитировать изменение имени.
  2. Каталоги / папки не существуют. Пространство имен плоское, все объекты находятся в корневом каталоге. Внешний вид папок - это всего лишь часть имени объекта.
  3. Облачное хранилище поддерживает внутреннее копирование объекта. Будьте осторожны, чтобы не использовать функцию, которая сначала загружает объект, а затем выгружает его.

Учитывая эту информацию, вам нужно будет использовать инструмент, например gsutil, чтобы вы могли начать переименовывать и перемещать файлы по своему усмотрению.

person Community    schedule 24.08.2020