您如何在Google云端存储中公开许多文件?
我在Google云端存储中有1000个文件可以公开发布,或者通常是目录层次结构。
在networking用户界面中,我似乎只能公开一个。
有没有办法做到这一点。
运行gsutil -m acl set -R -a public-read gs://bucket
-
-m
发出多个请求。 -
-R
发出您桶中每个对象的请求。 -
-a
问题请求每个对象的每个版本。
有关更多信息,请参阅gsutil help acl
。
在API层gsutil发出以下HTTP请求:
PUT /bucket/obj?acl HTTP/1.1 Host: storage.googleapis.com x-goog-acl: public-read
您可以通过在gsutil
使用-D
标志来看到这一点:
gsutil -D setacl public-read gs://bucket/obj
当你运行: gsutil -m acl set -R -a public-read gs://bucket
你为当前在你的桶中的所有对象定义public读取,但是当你上传新文件时,默认情况下它们不会被公开。
我发现,值得定义一个桶默认acl公共读取gsutil defacl set public-read gs://bucket
您可以将桶中的所有对象都公开。 这是链接 。
当前(2017年10月)有关托pipe在此处find的静态网站的文档指向:
gsutil acl ch -r -u AllUsers:R gs://bucket-name
其中-r
是recursion技巧, -u AllUsers:R
是公共读取访问。
要代表Erik复制和粘贴,这对我一直工作:
使对象组公开可读
使桶中的所有对象都可公开读取:
CONSOLEGSUTILREST APIS使用gsutil iam ch命令,用适当的值replace[VALUES_IN_BRACKETS]:
gsutil iam ch allUsers:objectViewer gs://[BUCKET_NAME]