使用Google云端存储中文件夹的ACL时出现问题

时间:2012-12-13 16:59:40

标签: acl google-cloud-storage gsutil

我在Google云端存储中的文件夹中创建了一个对象,其中包含以下OptionsBuilder对象:

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

制作下一个结构:

bucket>>文件夹>> obj.csv

当我运行gsutil命令获取“bucket”的ACL并且“obj.csv”工作正常时,但是当我为“folder”执行它时会抛出此异常: GSResponseError:status = 404,code = NoSuchKey,reason = Not Found。

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

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

1 个答案:

答案 0 :(得分:5)

您只能检索对象或存储桶的ACL。 GCS中没有“文件夹”这样的东西,因此您无法设置或获取文件夹的ACL。我建议您仔细阅读开发者指南的Concepts and Terminology部分。特别是关于对象名称的部分:

  

对象名称

     

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