【问题标题】:How to tell to gsutil file upload command that the "dst_url" is actually a file, not a directory?如何告诉 gsutil 文件上传命令“dst_url”实际上是一个文件,而不是一个目录?
【发布时间】:2018-11-12 00:27:38
【问题描述】:

在 GCS 存储桶上,我从 Web 控制台上传了一个名为 fileName 的文件,并创建了一个具有相同 fileName 名称的目录。因此,GCS 存储桶的根目录包含一个名为 fileName 的文件和一个同名的目录。

现在,当我尝试通过gsutil 命令更新fileName 文件时

gsutil cp localFile gs://bucketname/fileName

其中localFile是我本地计算机上的一个文件,gs://bucketname/fileName 因此是dest_url 参数,而不是覆盖GCS fileName 文件,而是在GCS 目录中创建一个名为fileName 的新文件名称为fileName,生成GCS 文件gs://bucketname/fileName/fileName

我在gsutil 命令中找不到选项,这表明提供的dest_url 应被解释为文件而不是目录。

我错过了什么吗?请问有什么解决办法吗?

【问题讨论】:

    标签: gsutil


    【解决方案1】:

    解决方法是使用:

    gsutil rsync -d . gs://bucketname

    该命令会保留filename目录的内容,但会改变filename文件的内容;事实上,此命令将本地路径的内容(在本例中为“dot”指定的“当前”路径:.)与存储桶的内容同步,因此,如果您只是更改文件名文件的内容在您的本地系统中,同步将导致 GCS 存储桶中的文件名文件“覆盖”,而不会影响您的文件名目录。

    【讨论】:

    • 这会强制同步所有本地目录文件,@DKnight900。
    猜你喜欢
    • 2017-04-05
    • 2022-07-28
    • 1970-01-01
    • 2019-04-28
    • 2013-11-27
    • 2013-12-29
    • 2023-03-22
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多