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

Mar*_*ius 1 acl google-cloud-storage gsutil

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

GSFileOptionsBuilder optionsBuilder = new GSFileOptionsBuilder()
  .setBucket("bucket")
  .setKey("folder/obj.csv")
  .setMimeType("text/csv");
Run Code Online (Sandbox Code Playgroud)

制作下一个结构:

bucket >>文件夹>> obj.csv

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

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

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

jte*_*ace 5

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

对象名称

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