我在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
如何获取和设置文件夹的权限?
答案 0 :(得分:5)
您只能检索对象或存储桶的ACL。 GCS中没有“文件夹”这样的东西,因此您无法设置或获取文件夹的ACL。我建议您仔细阅读开发者指南的Concepts and Terminology部分。特别是关于对象名称的部分:
对象名称
对象名称只是Google云端存储的元数据。对象名称 可以包含任何Unicode字符组合(UTF-8编码)更少 超过1024字节。包含在文件名中的常用字符 是斜杠(/)。通过在对象名称中使用斜杠,您可以制作 对象看起来好像存储在层次结构中。 例如,您可以命名一个对象/europe/france/paris.jpg和 另一个对象/europe/france/cannes.jpg。列出这些对象时 它们似乎是基于的分层目录结构 地点;但是,Google云端存储会将对象视为 独立的对象,没有任何层次关系。