FDS Restful API
Add/Delete object acl related api supported by FDS
Version: 1.0.0
/{bucketname}/{objectname}
PUT
Summary: change Object's ACL
Description: only object owner or who have FULL_CONTROL permission of the bucket can operate
Parameters
| Name | Located in | Description | Required | Schema |
|---|---|---|---|---|
| bucketname | path | Bucket name | Yes | string |
| objectname | path | Object name | Yes | string |
| authorization | header | authentication info,The calculation method is referred to the relevant document of signature verification | Yes | string |
| Date | header | request time | Yes | string |
| acl | query | indicate this request is for Bucket's ACL operation, value is void | Yes | string |
| action | query | Operation executed, if it's delete,indicate deleting ACL, default is adding ACL |
No | string |
| body | body | ACL info that needs to be changed | Yes | AccessControlPolicy |
Responses
| Code | Description |
|---|---|
| 200 | request successfully |
Models
| Name | Type | Description | Required |
|---|---|---|---|
| owner | OwnerBean | No | |
| accessControlList | [ GrantBean ] | No |
| Name | Type | Description | Required |
|---|---|---|---|
| grantee | GranteeBean | No | |
| permission | string | permission description, including READ, FULL_CONTROL |
No |
| type | string | Type of authorization object, including USER, GROUP |
No |
| Name | Type | Description | Required |
|---|---|---|---|
| id | string | user ID | No |
| Name | Type | Description | Required | |
|---|---|---|---|---|
| id | string | owner ID | No | |
| displayName | string | owner name | No | ### command line examples |
# authorize the user whose id is 10xx08 to read tests/test.txt under fds-demo
curl -v -X 'PUT' 'http://cnbj0.fds.api.xiaomi.com/fds-demo/tests/test.txt?acl' \
> -H 'content-type: application/json; charset=UTF-8' \
> -H 'authorization: Galaxy-V2 54x045:2ExxxrQ=' \
> -H 'date: Mon, 27 Feb 2017 10:15:02 GMT' \
> -d '{"owner":{"id":"541xxxx45"},"accessControlList":[{"grantee":{"id":"10xx8"},"permission":"READ","type":"USER"}]}'
* Hostname was NOT found in DNS cache
* Trying 111.206.200.99...
* Connected to cnbj0.fds.api.xiaomi.com (111.206.200.99) port 80 (#0)
> PUT /fds-demo/tests/test.txt?acl HTTP/1.1
> User-Agent: curl/7.35.0
> Host: cnbj0.fds.api.xiaomi.com
> Accept: */*
> content-type: application/json; charset=UTF-8
> authorization: Galaxy-V2 54x045:2ExxxrQ=
> date: Mon, 27 Feb 2017 10:15:02 GMT
> Content-Length: 116
>
* upload completely sent off: 116 out of 116 bytes
< HTTP/1.1 200 OK
* Server Tengine is not blacklisted
< Server: Tengine
< Date: Mon, 27 Feb 2017 10:15:57 GMT
< Content-Length: 0
< Connection: keep-alive
< Access-Control-Allow-Credentials: true
< Access-Control-Max-Age: 1728000
< Access-Control-Allow-Methods: GET, POST, PUT, HEAD, DELETE, OPTIONS
< Access-Control-Allow-Headers: DNT,X-Mx-ReqToken,Keep-Alive,User-Agent,X-Requested-With,If-Modified-Since,Cache-Control,Content-Type,Authorization,Content-MD5
< Access-Control-Expose-Headers: content-md5, upload-time, x-xiaomi-meta-content-length
<
* Connection #0 to host cnbj0.fds.api.xiaomi.com left intact