从服务器到存储桶的 GSUTIL cp 文件和 make 文件 public
GSUTIL cp file from server to bucket and make file public
在我的服务器中从 php 文件使用此命令:
exec(gsutil cp /path/to/file/on/server/namefile.ext gs://nameBucket/dir/namefile.ext > /dev/null 2>&1)
我在存储桶上得到 namefile.ext,在正确的目录中...但需要使此文件 public 可读。
已经尝试放置此命令(在文件末尾,用于制作 public)但无事可做:
exec(gsutil iam ch allUsers:objectViewer gs://nameBucket/dir/namefile.ext > /dev/null 2>&1)
因此,上传有效,但我需要使文件 可读,而无需我与存储桶 "browser" 的交互。有办法做到这一点吗?也许进入 cp 命令?
您使用的 gsutil iam ch allUsers:objectViewer
命令旨在使存储桶中的所有对象都可公开读取,但您为其提供了对象的 url。
因此,如果您想让特定文件公开可读:
gsutil acl ch -u AllUsers:R gs://nameBucket/dir/namefile.ext
如果您想让存储桶中的所有对象都公开可读:
gsutil iam ch allUsers:objectViewer gs://nameBucket/
这已记录在案 here。
在我的服务器中从 php 文件使用此命令:
exec(gsutil cp /path/to/file/on/server/namefile.ext gs://nameBucket/dir/namefile.ext > /dev/null 2>&1)
我在存储桶上得到 namefile.ext,在正确的目录中...但需要使此文件 public 可读。
已经尝试放置此命令(在文件末尾,用于制作 public)但无事可做:
exec(gsutil iam ch allUsers:objectViewer gs://nameBucket/dir/namefile.ext > /dev/null 2>&1)
因此,上传有效,但我需要使文件 可读,而无需我与存储桶 "browser" 的交互。有办法做到这一点吗?也许进入 cp 命令?
您使用的 gsutil iam ch allUsers:objectViewer
命令旨在使存储桶中的所有对象都可公开读取,但您为其提供了对象的 url。
因此,如果您想让特定文件公开可读:
gsutil acl ch -u AllUsers:R gs://nameBucket/dir/namefile.ext
如果您想让存储桶中的所有对象都公开可读:
gsutil iam ch allUsers:objectViewer gs://nameBucket/
这已记录在案 here。