我正在使用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权限以使文件公开?如何实现它以便创建的文件变为公共文件?
答案 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是文档的链接。