Как сказать команде gsutil file upload, что "dst_url" на самом деле является файлом, а не каталогом? - PullRequest
0 голосов
/ 01 июня 2018

В корзину GCS я загрузил из веб-консоли файл с именем fileName и создал каталог с тем же именем fileName.Следовательно, корзина GCS содержит в своем корне файл с именем fileName и каталог с тем же именем.

Теперь, когда я пытаюсь обновить файл fileName с помощью команды gsutil через

gsutil cp localFile gs://bucketname/fileName

, где localFile - это файл на моем локальном компьютере, а gs://bucketname/fileName, следовательно, является параметром dest_url, вместо переопределения файла GCS fileName, новымфайл с именем fileName создается в каталоге GCS с именем fileName, что приводит к файлу GCS gs://bucketname/fileName/fileName.

. Не удалось найти параметр в команде gsutil, который указывает, чтопри условии, что dest_url следует интерпретировать как файл, а не каталог.

Я что-то пропустил?Любой обходной путь, пожалуйста?

1 Ответ

0 голосов
/ 02 августа 2018

Чтобы обойти это, используйте:

gsutil rsync -d . gs://bucketname

Эта команда сохранит содержимое каталога имени файла, но изменит содержимое файла имени файла;на самом деле, эта команда синхронизирует содержимое вашего локального пути (в данном случае «текущий» путь, указанный в «dot»:.) с содержимым вашего сегмента, поэтому, если вы просто измените содержимое файла имени файлав вашей локальной системе синхронизация приведет к «перезаписи» файла вашего файла в корзине GCS, не затрагивая каталог вашего файла.

...