在 Google 个存储桶中创建目录
Creating directories in Google Buckets
我正在编写代码,在 Google 存储桶(即 Google 云存储中)创建一些文件。
要创建目录,请创建一个以斜杠结尾的空文件,如下面的 Perl 代码所做的那样:
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 Cloud Storage 中创建目录之前,pro 和 counter 的参数是什么?
GCS 没有 "directory." 的任何内置概念 我可以创建文件 "a/b/c/d/e/f" 而没有名为 "a/" 的文件或名为 [=22= 的文件].哎呀,我可以创建一个名为 "a/////////////b" 的对象,这是一个完全有效的对象名称。
就是说,为了方便起见,有几种工具可以假装目录存在。命令行工具 gsutil
理解以“/”结尾的空文件代表一个文件夹。同样,云控制台也能识别这种格式。但是,这两种工具都不需要它。如果您创建一个名为 "a/b/c/d" 的对象,它们都会假装文件夹 "a"、"a/b" 和 "a/b/c" 存在,而不管此类占位符目录对象是否存在。
因此根本不需要创建此类目录对象,除非您的应用程序出于某种原因需要使用它们。如果出于某种原因需要这样的占位符存在,则使用它们。例如,如果您的应用程序正在对文件系统建模并且空目录的存在具有某些内在含义,那么您可能需要某种 "this is an empty directory" 标记文件。
但是,如果您不需要它们存在,请不要创建它们。
我正在编写代码,在 Google 存储桶(即 Google 云存储中)创建一些文件。
要创建目录,请创建一个以斜杠结尾的空文件,如下面的 Perl 代码所做的那样:
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 Cloud Storage 中创建目录之前,pro 和 counter 的参数是什么?
GCS 没有 "directory." 的任何内置概念 我可以创建文件 "a/b/c/d/e/f" 而没有名为 "a/" 的文件或名为 [=22= 的文件].哎呀,我可以创建一个名为 "a/////////////b" 的对象,这是一个完全有效的对象名称。
就是说,为了方便起见,有几种工具可以假装目录存在。命令行工具 gsutil
理解以“/”结尾的空文件代表一个文件夹。同样,云控制台也能识别这种格式。但是,这两种工具都不需要它。如果您创建一个名为 "a/b/c/d" 的对象,它们都会假装文件夹 "a"、"a/b" 和 "a/b/c" 存在,而不管此类占位符目录对象是否存在。
因此根本不需要创建此类目录对象,除非您的应用程序出于某种原因需要使用它们。如果出于某种原因需要这样的占位符存在,则使用它们。例如,如果您的应用程序正在对文件系统建模并且空目录的存在具有某些内在含义,那么您可能需要某种 "this is an empty directory" 标记文件。
但是,如果您不需要它们存在,请不要创建它们。