閱讀797 返回首頁    go 新東方


PutBucketACL__關於Bucket的操作_API 參考_對象存儲 OSS-阿裏雲

Put Bucket ACL接口用於修改Bucket訪問權限。目前Bucket有三種訪問權限:public-read-write,public-read和private。Put Bucket ACL操作通過Put請求中的“x-oss-acl”頭來設置。這個操作隻有該Bucket的創建者有權限執行。如果操作成功,則返回200;否則返回相應的錯誤碼和提示信息。

請求語法

PUT /?acl HTTP/1.1
x-oss-acl: Permission
Host: BucketName.oss-cn-hangzhou.aliyuncs.com
Date: GMT Date
Authorization: SignatureValue

細節分析

  1. 如果bucket存在,發送時帶的權限和已有權限不一樣,並且請求發送者是bucket擁有者時。該請求不會改變bucket內容,但是會更新權限。
  2. 如果用戶發起Put Bucket請求的時候,沒有傳入用戶驗證信息,返回403 Forbidden消息。錯誤碼:AccessDenied。
  3. 如果請求中沒有,“x-oss-acl”頭,並且該bucket已存在,並屬於該請求發起者,則維持原bucket權限不變。

示例

請求示例:

PUT /?acl HTTP/1.1
x-oss-acl: public-read
Host: oss-example.oss-cn-hangzhou.aliyuncs.com
Date: Fri, 24 Feb 2012 03:21:12 GMT
Authorization: OSS qn6qrrqxo2oawuk53otfjbyc:KU5h8YMUC78M30dXqf3JxrTZHiA=

返回示例:

HTTP/1.1 200 OK
x-oss-request-id: 534B371674E88A4D8906008B
Date: Fri, 24 Feb 2012 03:21:12 GMT
Content-Length: 0
Connection: keep-alive
Server: AliyunOSS

如果該設置的權限不存在,示例400 Bad Request消息:

錯誤返回示例:

HTTP/1.1 400 Bad Request
x-oss-request-id: 56594298207FB304438516F9
Date: Fri, 24 Feb 2012 03:55:00 GMT
Content-Length: 309
Content-Type: text/xml; charset=UTF-8
Connection: keep-alive
Server: AliyunOSS

<?xml version="1.0" encoding="UTF-8"?>
<Error>
  <Code>InvalidArgument</Code>
  <Message>no such bucket access control exists</Message>
  <RequestId>56594298207FB304438516F9</RequestId>
  <HostId>leo.oss-test.aliyun-inc.com</HostId>
  <ArgumentName>x-oss-acl</ArgumentName>
  <ArgumentValue>error-acl</ArgumentValue>
</Error>

最後更新:2016-11-23 17:16:07

  上一篇:go PutBucket__關於Bucket的操作_API 參考_對象存儲 OSS-阿裏雲
  下一篇:go PutBucketLogging__關於Bucket的操作_API 參考_對象存儲 OSS-阿裏雲