从服务器到存储桶的GSUTIL cp文件并将文件公开

时间:2018-04-11 10:12:36

标签: php google-cloud-platform google-cloud-storage gsutil

在我的服务器中从php文件中使用此命令:

exec(gsutil cp /path/to/file/on/server/namefile.ext gs://nameBucket/dir/namefile.ext > /dev/null 2>&1) 

我在存储桶中获取了namefile.ext,位于正确的目录中......但需要将此文件设为公共可读。

已经尝试过这个命令(在文件的末尾,为了公开)但无事可做:

exec(gsutil iam ch allUsers:objectViewer gs://nameBucket/dir/namefile.ext > /dev/null 2>&1)

所以,上传工作但是我需要让文件在没有我与桶的“浏览器”的交互的情况下可读。有办法做到这一点?也许进入 cp 命令?

1 个答案:

答案 0 :(得分:3)

您使用的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