设置对象ACL
更新时间: 2019-03-13 10:20
功能说明
设置指定桶中对象的访问权限。
方法定义
- func (obsClient ObsClient) SetObjectAcl(input *SetObjectAclInput) (output *BaseModel, err error)
使用带授权信息URL的方法定义
- func (obsClient ObsClient) SetObjectAclWithSignedUrl(signedUrl string, actualSignedRequestHeaders http.Header, data io.Reader) (output *BaseModel, err error)
请求参数
参数名 | 类型 | 约束 |
---|---|---|
input | *SetObjectAclInput | 必选 |
返回结果
参数名 | 类型 |
---|---|
output | *BaseModel |
err | error |
代码样例
- func main() {
- input := &obs.SetObjectAclInput{}
- input.Bucket = "bucketname"
- input.Key = "objectkey"
- input.Owner.ID = "ownerid"
- var grants [3]obs.Grant
- grants[0].Grantee.Type = obs.GranteeGroup
- grants[0].Grantee.URI = obs.GroupAuthenticatedUsers
- grants[0].Permission = obs.PermissionRead
- grants[1].Grantee.Type = obs.GranteeUser
- grants[1].Grantee.ID = "userid"
- grants[1].Permission = obs.PermissionWrite
- grants[2].Grantee.Type = obs.GranteeUser
- grants[2].Grantee.ID = "userid"
- grants[2].Permission = obs.PermissionRead
- input.Grants = grants[0:3]
- output, err := obsClient.SetObjectAcl(input)
- if err == nil {
- fmt.Printf("RequestId:%s\n", output.RequestId)
- } else {
- if obsError, ok := err.(obs.ObsError); ok {
- fmt.Println(obsError.Code)
- fmt.Println(obsError.Message)
- } else {
- fmt.Println(err)
- }
- }
- }
父主题:对象相关接口