如何使用gsutil命令在Google Cloud Storage中创建一个新文件夹?
我尝试了在创建Bucket时相同的命令,但仍然出现错误。
gsutil mb -l us-east1 gs://my-awesome-bucket/new_folder/
谢谢!如何使用gsutil命令在Google Cloud Storage中创建一个新文件夹?
我尝试了在创建Bucket时相同的命令,但仍然出现错误。
gsutil mb -l us-east1 gs://my-awesome-bucket/new_folder/
谢谢!因此,您不能像在传统的文件系统中那样“创建”目录。gsutil 在 Google Cloud Storage 服务支持的“扁平”命名空间之上提供了一个分层文件树的幻觉。对于服务而言,对象 gs://your-bucket/abc/def.txt 只是具有其名称中包含 "/" 字符的对象。没有“abc”目录;只有一个给定名称的单个对象。
如果您已经清楚了存储桶中存在哪些文件夹和对象,那么您可以通过将一个对象复制到文件夹中来创建一个新的“文件夹”。
>mkdir test
>touch test/file1
>gsutil cp -r test gs://my-bucket
Copying file://test\file1 [Content-
Type=application/octet-stream]...
/ [1 files][ 0.0 B/ 0.0 B]
Operation completed over 1 objects.
>gsutil ls gs://my-bucket
gs://my-bucket/test/
>gsutil ls gs://my-bucket/test
gs://my-bucket/test/file1
如果本地目录为空,则它将无法工作。>touch file2
>gsutil cp file2 gs://my-bucket/new-folder/
Copying file://test\file2 [Content- ...
>gsutil ls gs://my-bucket/new-folder
gs://my-bucket/new-folder/file2
请注意可能会有 意外的目标子目录命名 的潜在风险,例如,如果目标目录已经存在作为一个对象。对于自动化流程,更健壮的方法是使用 rsync。
我不知道是否可以使用 gsutil 创建空文件夹。需要使用控制台上的 创建文件夹 按钮来完成此操作。
你不能使用gsutil在GCS上创建文件夹。
但是,您可以使用gsutil将现有文件夹复制到GCS中。
要使用gsutil将现有文件夹复制到GCS中,文件夹不能为空且需要添加标志“-r”,如下所示。否则,如果文件夹为空或忘记标志“-r”,则会出现错误:
gsutil cp -r <non-empty-folder> gs://your-bucket
// "-r" is needed for folder
你不能使用 mb 创建一个空文件夹
从Google云帮助中复制:
将对象复制到存储桶中的文件夹 使用gsutil cp命令创建一个文件夹并将图像复制到其中:
gsutil cp gs://my-awesome-bucket/kitten.png gs://my-awesome-bucket/just-a-folder/kitten3.png
这个方法可行。