通过Google App Engine PHP在Google云端存储上设置所有者ACL

时间:2015-08-23 01:36:02

标签: php google-app-engine google-cloud-storage

当我从PHP Google App Engine实例在Google云端存储中创建对象时,所有者的ACL无法设置,从而无法在以后更改缓存控制标头之类的内容。

$options = ['gs' => ['acl' => 'public-read', 'Content-Type' => 'text/plain']];
$ctx = stream_context_create($options);
file_put_contents('gs://my_bucket/file.yadda');

如何从PHP应用引擎设置更详细的ACL设置,而不是使用预定义的云存储ACL魔术设置(public-read,owner-full-read-write等等)?

1 个答案:

答案 0 :(得分:0)

最简单的方法是使用存储桶的默认ACL上的设置来使存储桶上的默认ACL成为您想要的。此时,在没有声明ACL的情况下创建的任何内容都将转为默认值。

你甚至不需要在PHP中运行任何东西来完成它。您只需使用与现在相同的代码,不要指定ACL,并使用gsutil通过以下命令自定义默认ACL:

gsutil defacl ch -u my-email@gmail.com:OWNER gs://«my_bucket»

更多信息here