S3的RESTful接口特点总结
- 删除桶
1 | DELETE / |
分析:request无必要参数
- 删除对象
1 | DELETE /obj |
分析:request无必要参数
- 列举桶中对象
1 | GET / | GET /?xx |
分析:request后面有可选参数
- 删除多个对象(批量删)
1 | POST /?delete |
分析:request参数中带delete
- 上传对象
PUT 方式
1 | PUT /obj |
分析:request无必要参数
POST 方式
1 | POST / |
分析:待定,暂不考虑
COPY 方式
1 | PUT /obj |
分析:含有x-amz-copy-source选项,mv是会多一个Delete
- 下载对象
1 | GET /obj |
分析:request无必要参数
- 分块上传
1 | PUT /obj?partNumber=xx&uploadId=xx |
分析:可以用带有uploadId参数来进行区分
Other
- 删除Bucket的一些配置
1 | DELETE /<bucket-name>?someconfopt |
是可选的,有一些要带这个,只要不是 /
则说明都不是删除桶
- 获取Bucket的一些配置
1 | GET /?someconfopt |
需要区别于
列举桶中对象
的请求
- HEAD 判断bucket是否存在和是否有访问权限
1 | HEAD / |
HEAD标志
- 设置Bucket的一些配置 (对象也是一致)
1 | PUT /?someconfopt |
只要不是
/
则说明都不是创建桶
- 创建桶
1 | PUT / |
一定是
/
- 获取对象属性
1 | GET /obj?attr |
后面有参数
- HEAD返回对象元数据信息
1 | HEAD /obj |
Head 标志,不是
/
- 终止分段上传 (分段上传的都有
uploadId
这个参数)
1 | DELETE /obj?uploadId=xxx |
需要用
uploadId
来区别其他的DELETE操作,比如区别删除对象操作
Ceph Admin API 管理接口
- 创建用户
PUT /admin/user?format=json&uid=
&display-name=