Копирование объектов из одной папки каталога Bucket в другую папку Bucket с помощью переноса - PullRequest
1 голос
/ 30 октября 2019

Я хочу использовать Google Transfer для копирования всех папок / файлов в определенном каталоге в Bucket-1 в корневой каталог Bucket-2.

Попытался использовать передачу с параметром фильтра, ноничего не копирует.

Буду очень признателен за любые указания на то, как заставить это работать в рамках передачи или пошагово для функций.

Ответы [ 3 ]

0 голосов
/ 31 октября 2019

Я воспроизвел вашу проблему и работал на меня, используя gsutil. Например:

gsutil cp -r gs://SourceBucketName/example.txt gs://DestinationBucketName

Кроме того, я попытался скопировать, используя опцию передачи, и это также сработало. Шаги, которые я выполнил с помощью параметра «Передача», следующие:

1 - создание новой панели заданий на перенос: «Выбор источника»:

2 - выбор источника, например, хранилище Google Cloud Storage

3 - выберите ваш контейнер с данными, которые вы хотите скопировать.

4 - В поле «Передать файлы с этими префиксами» добавьте свои данные (я использовал «example.txt»)

Панель «Выбор места назначения»:

5 - Выбор места назначения. Ведро

Панель «Настройка передачи»:

6 - Запустить сейчас, если вы хотите завершить передачу. сейчас.

7 - Нажмите «Создать».

Для получения дополнительной информации о копировании из ведра в другое вы можете проверить официальную документацию .

0 голосов
/ 04 ноября 2019

Итак, несколько вещей, которые следует учитывать здесь:

  1. Вы должны иметь в виду, что корзины Google Cloud Storage не обрабатывают подкаталоги так, как вы ожидаете. К ведру это в основном вся часть имени файла. Вы можете найти больше информации об этом в документации Как работают подкаталоги .

  2. Предыдущее также является причиной, по которой вы не можете перенести файл, который находится в «каталоге». И ожидать, что в корне целевого сегмента появится только имя файла. Для примера:

    • Если у вас есть файл в gs://my-bucket/my-bucket-subdirectory/myfile.txt, после того, как вы перенесете его во второе ведро, у него все равно будет подкаталог в его имени, поэтому результат будет: gs://my-second-bucket/my-bucket-subdirectory/myfile.txt
  3. Вот почему, если вы заинтересованы в автоматизации этого процесса, вам обязательно стоит попробовать клиентские библиотеки Google Cloud Storage . 1023 *

  4. Кроме того, вы также можете использовать GCS Client с функциями Google Cloud. Тем не менее, я бы просто предложил это, если вам действительно нужны триггеры событий, предлагаемые GCF. Если вы просто хотите, чтобы передача выполнялась регулярно, например, в задании cron, вы все равно можете использовать GCS Client где-то, кроме облачной функции.

Кроме того, в ваших будущих публикациях постарайтесь предоставить как можно больше соответствующей информации. Для этого поста, в качестве примера, было бы неплохо узнать, какая файловая структура у вас есть в ваших корзинах и что вы получаете в качестве вывода. И если вы сможете сразу сообщить, какой у вас вариант использования, это также помешает другим пользователям предлагать решения, которые не соответствуют вашим потребностям.

0 голосов
/ 31 октября 2019

попробуйте это в Cloud Shell в проекте

gsutil cp -r gs://bucket1/foldername gs://bucket2
...