在Google Cloud Storage Go运行时客户端API上公开新创建的文件

时间:2015-03-25 05:01:53

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

我正在使用Google Cloud Storage Go Runtime客户端API将GO服务器中的字符串写入默认存储桶中的文件。这是代码

wc := storage.NewWriter(d.ctx, bucket, fileName)
wc.ContentType = "text/plain"
if _, err := wc.Write([]byte(myData)); err != nil {
        d.errorf("createFile: unable to write data to bucket %q, file %q: %v", bucket, fileName, err)
        return
}

但是我无法在 wc 对象上设置正确的ACL权限以使文件公开?如何实现它以便创建的文件变为公共文件?

2 个答案:

答案 0 :(得分:3)

尝试设置:

wc.ACL = []storage.ACLRule{{storage.AllUsers, storage.RoleReader}}

或者,您也可以更改存储桶上的默认对象ACL,以便新创建的对象默认为可公开读取。

答案 1 :(得分:0)

您也可以这样做。

acl := client.Bucket(bucket).Object(object).ACL()
if err := acl.Set(ctx, storage.AllUsers, storage.RoleReader); err != nil {
        return err
}

Here是文档的链接。