Google cloud storage 在googlebucket中创建目录
我正在编写一个代码,它在一个Google Bucket(即Google云存储)中创建一些文件 要创建目录,可以创建一个以斜杠结尾的空文件,如下所示:Google cloud storage 在googlebucket中创建目录,google-cloud-storage,Google Cloud Storage,我正在编写一个代码,它在一个Google Bucket(即Google云存储)中创建一些文件 要创建目录,可以创建一个以斜杠结尾的空文件,如下所示: my $EscapedName = uri_escape($DirName . '/'); my $response = $ua->post("https://www.googleapis.com/upload/storage/v1/b/$Bucket/o?uploadType=media&name=$EscapedName",
my $EscapedName = uri_escape($DirName . '/');
my $response = $ua->post("https://www.googleapis.com/upload/storage/v1/b/$Bucket/o?uploadType=media&name=$EscapedName",
'Content-Type' => 'application/octet-stream',
Content => "");
我的问题是:我将把一些(实际上大约一千个)文件(比如d/x
,d/y
,d/z
)存储在一个桶中。我应该在存储这些文件之前创建目录d/
在填充文件之前,在Google云存储中创建目录的pro和counter参数是什么?GCS没有任何内置的“目录”概念。我可以创建文件“a/b/c/d/e/f”,而不需要名为“a/”或“a/b/”的文件。见鬼,我可以创建一个名为“a/////b”的对象,这是一个完全有效的对象名 也就是说,为了方便起见,有几种工具可以假装目录存在。命令行工具
gsutil
理解以“/”结尾的空文件表示文件夹。类似地,云控制台也可以识别这种格式。然而,这两种工具都不需要它。如果您创建一个名为“a/b/c/d”的对象,则无论是否存在此类占位符目录对象,它们都将假装文件夹“a”、“a/b”和“a/b/c”存在
因此,根本不需要创建这样的目录对象,除非您的应用程序出于某种原因需要使用它们。如果出于某种原因它需要这样的占位符,那么就使用它们。例如,如果您的应用程序正在建模一个文件系统,并且空目录的存在具有某种固有的意义,那么您可能需要某种“这是一个空目录”标记文件
但是,如果不需要它们存在,就不要创建它们