Имя пути gsutil не передается из командной строки в корзину назначения - PullRequest
0 голосов
/ 11 октября 2018

Я обнаружил странное изменение в Google SDK, о котором не видно никаких замечаний к выпуску.

Похоже, что где-то между версиями 4.28 и 4.34 изменился способ передачи имен путей через команду gsutil.

До:

gsutil cp myfolder/myfile.csv gs://mybucket/ 

Скопировал бы файл в подпапку с именем gs://mybucket/myfolder

Теперь, с последней версией, он копируется только в указанную верхнюю папку gs://mybucket/

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

for %%f in (./Myfolder/*.csv) do (
   call gsutil cp Myfolder/%%f gs://mis_sc/
)

Теперь я понимаю, что это простое (но довольно утомительное) изменение вдобавьте папку в конце всех моих команд gsutil, но у нас есть разные версии для ПК, и если более старая версия работает с измененным сценарием, я получаю две папки с одинаковыми именами, одна под другой.Также логика заключалась в том, что имя папки в сети = имя корзины, поэтому задания могут быть очень общими.

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

Есть идеи, это было преднамеренное изменение?

Мы обеспокоены тем, что, если мы все обновим, оно когда-нибудь вернется обратно?

Спасибо

Стив

1 Ответ

0 голосов
/ 11 октября 2018

Поведение «До», которое вы описываете, совсем не так, как предполагалось в gsutil: как отмечалось здесь , «копирование файлов с индивидуальными именами приведет к объектам, названным компонентом окончательного пути исходных файлов»".

Если вы можете настроить gsutil для воспроизведения поведения" До ", которое вы описываете, используя более старую версию gsutil, пожалуйста, предоставьте детали для его воспроизведения: версию gsutil, содержимое корзины перед копированием и исходную папку./ имя объекта.Вы можете получить доступ ко всем предыдущим версиям в gs: // pub / gsutil _ *

...