删除对象-DeleteObject
功能介绍
删除对象的操作。如果要删除的对象不存在,则仍然返回成功信息。
多版本
当桶的多版本状态是开启时,不指定版本删除对象将产生一个带唯一版本号的删除标记,并不删除对象;当桶的多版本状态是Suspended时,不指定版本删除将删除版本号为null的对象,并将产生一个版本号为null的删除标记。
如果要删除指定版本的对象,请求可携带versionId消息参数。
WORM
由于打开了WORM开关的桶默认开启了多版本,当您不指定版本号进行删除对象操作时,由于多版本机制并不会真正删除此对象,您的操作可以成功并为最新版本的对象产生一个带唯一版本号的删除标记。当您指定版本号进行删除对象操作时,如果对象处于WORM保护状态,WORM的保护模式会限制对象的删除并返回403。删除标记不会被WORM保护。
授权信息
您必须是对象拥有者或拥有删除对象的权限,才能调用本接口,建议使用IAM或桶策略进行授权。了解更多OBS授权方式请参见OBS不同权限控制方式的区别。
- 如果使用IAM授权,那么请在“角色与策略授权”、“身份策略授权”两种IAM授权方式中选择一种,并配置相应权限:
- 如果使用角色与策略授权(旧版IAM,即IAM v3接口),需具备obs:object:DeleteObject(未开启多版本)、obs:object:DeleteObjectVersion(开启或暂停多版本)权限,授权操作请参见创建IAM自定义策略。
- 如果使用身份策略授权(新版IAM,即IAM v5接口),如下表所示,需具备obs:object:deleteObject(未开启多版本)、obs:object:deleteObjectVersion(开启或暂停多版本)权限,授权操作请参见创建IAM自定义身份策略。
授权项
Action
访问级别
Access Level
资源类型(*为必须)
Resource Type (*: required)
Condition Key
Alias
依赖的授权项
Dependencies
obs:object:deleteObject(未开启多版本)
obs:object:deleteObjectVersion(开启或暂停多版本)
Write
object *
-
- functiongraph:function:invokeAsync
- functiongraph:workflow:invoke
- smn:topic:publish
-
- obs:EpochTime
- obs:SourceIp
- obs:TlsVersion
- obs:CustomDomain
- 如果使用桶策略进行授权,需具备obs:object:DeleteObject(未开启多版本)、obs:object:DeleteObjectVersion(开启或暂停多版本)权限,具体操作请参见自定义创建桶策略。
请求消息样式
1 2 3 4 |
DELETE /ObjectName HTTP/1.1 Host: bucketname.obs.cn-north-4.myhuaweicloud.com Date: date Authorization: authorization |
请求消息头
该请求使用公共消息头,具体请参考表3。
请求消息元素
该请求消息中不使用消息元素。
响应消息样式
1 2 |
HTTP/1.1 status_code Date: date |
响应消息元素
该请求的响应消息中不带消息元素。
错误响应消息
无特殊错误,所有错误已经包含在表2中。
请求示例
1 2 3 4 5 6 |
DELETE /object2 HTTP/1.1 User-Agent: curl/7.29.0 Host: examplebucket.obs.cn-north-4.myhuaweicloud.com Accept: */* Date: WED, 01 Jul 2015 04:19:21 GMT Authorization: OBS H4IPJX0TQTHTHEBQQCEC:MfK9JCnSFHCrJmjv7iRkRrrce2s= |
响应示例
1 2 3 4 5 |
HTTP/1.1 204 No Content Server: OBS x-obs-request-id: 8DF400000163D3F51DEA05AC9CA066F1 x-obs-id-2: 32AAAUgAIAABAAAQAAEAABAAAQAAEAABCSgkM4Dij80gAeFY8pAZIwx72QhDeBZ5 Date: WED, 01 Jul 2015 04:19:21 GMT |
请求示例:指定versionId执行DeleteObject操作
DELETE /object2?versionId=G001118A49821905FFFFD28739D419DA HTTP/1.1 Authorization: OBS H4IPJX0TQTHTHEBQQCEC:iqSPeUBl66PwXDApxjRKk6hlcN4= User-Agent: curl/7.29.0 Host: examplebucket.obs.cn-north-4.myhuaweicloud.com Date: WED, 01 Jul 2015 02:37:22 GMT Content-Type: application/xml
响应示例:指定versionId执行DeleteObject操作
x-obs-id-2: 32AAAUgAIAABAAAQAAEAABAAAQAAEAABCS3WJqDiMsxgGHKQrlqST9veFKpDgE50 x-obs-request-id: 0000018A4997390DD306CCDA0DEC814F Server: OBS Date: WED, 01 Jul 2015 02:37:22 GMT x-obs-version-id: G001118A49821905FFFFD28739D419DA
请求示例:指定versionId删除“删除标记”
DELETE /object2?versionId=G001118A6456208AFFFFD24829FCF614 Authorization: OBS H4IPJX0TQTHTHEBQQCEC:iqSPeUBl66PwXDApxjRKk6hlcN4= User-Agent: curl/7.29.0 Host: examplebucket.obs.cn-north-4.myhuaweicloud.com Date: WED, 01 Jul 2015 02:37:22 GMT Content-Type: application/xml
响应示例:指定versionId删除“删除标记”
x-obs-id-2: 32AAAUgAIAABAAAQAAEAABAAAQAAEAABCS3WJqDiMsxgGHKQrlqST9veFKpDgE50 x-obs-request-id: 0000018A4997390DD306CCDA0DEC814F Server: OBS Date: WED, 01 Jul 2015 02:37:22 GMT x-obs-version-id: G001118A6456208AFFFFD24829FCF614