1

我在 Google Cloud Storage 的文件夹中创建了一个对象,其中包含以下 OptionsBuilder 对象:

GSFileOptionsBuilder optionsBuilder = new GSFileOptionsBuilder()
  .setBucket("bucket")
  .setKey("folder/obj.csv")
  .setMimeType("text/csv");

制作下一个结构:

存储桶 >> 文件夹 >> obj.csv

当我运行 gsutil 命令以获取“bucket”和“obj.csv”的 ACL 时工作正常,但是当我为“文件夹”执行它时会引发此异常:GSResponseError: status=404, code=NoSuchKey, reason=Not Found。

我运行的确切命令是:gsutil getacl gs://bucket/folder/ > acl.txt

如何获取和设置文件夹的权限?

4

1 回答 1

5

您只能检索对象或存储桶的 ACL。GCS 中没有“文件夹”之类的东西,因此您无法设置或获取文件夹的 ACL。我建议您仔细阅读开发人员指南的概念和术语部分。特别是关于对象名称的部分:

对象名称

对象名称只是 Google Cloud Storage 的元数据。对象名称可以包含长度小于 1024 字节的 Unicode 字符(UTF-8 编码)的任意组合。包含在文件名中的常见字符是斜杠 (/)。通过在对象名称中使用斜线,您可以使对象看起来好像存储在分层结构中。例如,您可以将一个对象命名为 /europe/france/paris.jpg 并将另一个对象命名为 /europe/france/cannes.jpg。当您列出这些对象时,它们似乎位于基于位置的分层目录结构中;但是,Google Cloud Storage 将对象视为没有任何层次关系的独立对象。

于 2012-12-13T17:55:40.703 回答