Google cloud storage 谷歌云存储使backet公开可见

Google cloud storage 谷歌云存储使backet公开可见,google-cloud-storage,Google Cloud Storage,我想让bucket公开可读(这样添加的每个文件都有一个“共享的公开链接”) 我试图从JSON API更改更新bucket(目前是从API引用()上的“Try it”更改) 并添加到bucketpredefinedAcl:PublicRead 我得到的回应似乎正是我所需要的: ... { "kind": "storage#bucketAccessControl", "id": "<bucket name>/allUsers", "selfLink": "http

我想让bucket公开可读(这样添加的每个文件都有一个“共享的公开链接”)

我试图从JSON API更改更新bucket(目前是从API引用()上的“Try it”更改) 并添加到bucket
predefinedAcl:PublicRead

我得到的回应似乎正是我所需要的:

...
  {

   "kind": "storage#bucketAccessControl",
   "id": "<bucket name>/allUsers",
   "selfLink": "https://content.googleapis.com/storage/v1/b/<bucket name>/acl/allUsers",
   "bucket": "<bucket name>",
   "entity": "allUsers",
   "role": "READER",
   "etag": "CAI="
  }
...
。。。
{
“种类”:“存储#bucketAccessControl”,
“id”:“/诱惑者”,
“自链接”:https://content.googleapis.com/storage/v1/b//acl/allUsers",
“桶”:“桶”,
“实体”:“诱惑者”,
“角色”:“读者”,
“etag”:“CAI=”
}
...
但是,当我向bucket添加新文件时,我没有选中“公开共享”复选框

我错过了什么

**编辑** 与json相关命令的直接链接(感谢接受的答案):

您是否混淆了bucket和object ACL?将bucket ACL更改为public read会让人们列出bucket内容。要下载对象本身,您需要将每个object ACL设置为public read。最后,要使将来的对象默认为public read,您需要将bucket的默认object ACL更改为public read(另请参见)。

设置GCS存储桶以使用以下内容比设置JSON API更容易:

使用acl设置当前bucket对象的公共读取

gsutil -m acl set -R -a public-read gs://BUCKET_NAME
使用defacl将未来上载设置为默认值

gsutil -m defacl set public-read gs://BUCKET_NAME

我的印象是预定义的ACL:PublicRead是默认的对象ACL。。。