
# 删除OBS桶中的对象
#### 操作场景
您可以通过OBS[管理控制台](https://console.huaweicloud.com/console/?locale=zh-cn#/obs/manager/buckets)、API、SDK、OBS Browser+、obsutil方式删除无用的文件或文件夹，以优化存空间，节约成本。
本小节主要介绍如何删除文件或文件夹的方式，具体请参见[表1]。
 表1删除方式 
| 场景                                                                                                    | 删除规则 | 规则说明                                                                                                                                                                                       |
|:---|:---|:---|
| **未开启多版本控制功能**      | 单个删除 | 如果需要对少量或者无规律的文件进行删除时，可以选择具体某个文件，然后进行删除操作。                                                                                                                                                  |
| **未开启多版本控制功能**      | 批量删除 | 如果需要删除桶中大量文件，或者删除一些周期性的文件，可以通过勾选多个文件，以批量方式删除文件。还可以通过生命周期功能，定期自动删除桶中对象，提高删除效率。了解如何结合生命周期删除对象，请参见[结合生命周期]。 |
| **已开启/暂停多版本控制功能**  | 单个删除 | 如果需要对少量或者无规律的文件进行删除时，可以选择具体某个文件，然后进行删除操作。                                                                                                                                                  |
| **已开启/暂停多版本控制功能**  | 批量删除 | 如果需要删除桶中大量文件，或者删除一些周期性的文件，可以通过勾选多个文件，以批量方式删除文件。还可以通过生命周期功能，定期自动删除桶中对象，提高删除效率。了解如何结合生命周期删除对象，请参见[结合生命周期]。 |
   
![](https://support.huaweicloud.com/usermanual-obs/public_sys-resources/note_3.0-zh-cn.png)
对于并行文件系统目录，大数据场景下（目录层级深、目录下文件多）的删除，可能会因超时而删除失败，建议使用：
1. hadoop 客户端（嵌套OBS客户端插件OBSA）删除目录：hadoop fs - rmr obs://{并行文件系统名}/{目录名}。
2. 给目录配置[生命周期](https://support.huaweicloud.com/usermanual-obs/obs_03_0335.html#ZH-CN_TOPIC_0000001944980098)，通过生命周期后台删除。
#### 注意事项
对于重要文件可新增数据备份，以防止误删除。相关操作可参考[复制对象](https://support.huaweicloud.com/usermanual-obs/obs_41_0020.html#ZH-CN_TOPIC_0000001858344810)。
#### 权限控制
只有对象拥有者和被授予**obs:object:DeleteObject** （未开启多版本）、**obs:object:DeleteObjectVersion** （开启或暂停多版本）权限的用户才能删除对象。您可以使用IAM或桶策略进行授权，授权操作请参见[创建IAM自定义策略](https://support.huaweicloud.com/usermanual-iam/iam_01_0605.html)或[自定义创建桶策略](https://support.huaweicloud.com/usermanual-obs/obs_03_0123.html)。
如果您在 IAM 用户或角色策略中拥有删除对象的权限或授权，但是删除对象失败，可能是[SCP策略](https://support.huaweicloud.com/usermanual-organizations/org_03_0031.html)或[桶策略](https://support.huaweicloud.com/usermanual-obs/zh-cn_topic_0045829092.html)中对于 obs:object:DeleteObject（未开启多版本）、obs:object:DeleteObjectVersion（开启或暂停多版本）包含了 Deny 语句。请先放开该权限，然后再进行删除对象操作。
#### 与其他功能结合使用
- [结合多版本控制]
  OBS支持多版本控制功能，通过多版本控制，用户可以在一个桶中保留多个版本的对象，还可以更方便地检索和还原各个版本，在意外操作或应用程序故障时快速恢复数据。删除对象有丢失数据的风险，需要谨慎操作，而利用多版本控制功能可以降低该风险。了解更多多版本相关信息请参见[多版本控制](https://support.huaweicloud.com/usermanual-obs/obs_03_0327.html)。
  
  | 场景             | 删除对象的当前版本                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                   | 删除对象的历史版本    |
  |:---|:---|:---|
  | **未开启多版本控制功能** | OBS将彻底删除这些对象，已删除的对象不可恢复，请谨慎操作。                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              | 不涉及          |
  | **暂停多版本控制功能**  | - 如果当前版本没有删除标记且当前版本ID不为null，则当前版本会成为历史版本，系统创建ID为null的删除标记成为当前版本。  - 如果当前版本没有删除标记且当前版本ID为null，则系统创建ID为null的删除标记直接覆盖当前版本。此时，删除标记成为最新版本，被覆盖的版本数据无法恢复。  - 如果当前版本有删除标记，则不执行任何操作。 说明： - 暂停多版本后，新上传的对象版本号为null。如果之前有空版本号的同名对象，则上传对象会覆盖该带空版本号的对象。  - 开启"历史版本"开关，可以查看一个对象的版本ID。      | 删除的历史版本无法恢复。 |
  | **已开启多版本控制功能** | - 如果当前版本没有删除标记，删除后系统会创建删除标记，当前版本会成为历史版本，删除标记成为当前版本。  - 如果当前版本有删除标记，执行彻底删除操作后，则删除带删除标记的版本对象，即恢复对象。                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                         | 删除的历史版本无法恢复。 |
     
- [结合WORM]
  由于打开了WORM开关的桶默认开启了多版本，当您不指定版本号进行删除对象操作时，由于多版本机制并不会真正删除此对象，您的操作可以成功并为最新版本的对象产生一个带唯一版本号的删除标记。当您指定版本号进行删除对象操作时，如果对象处于WORM保护状态，WORM的保护模式会限制对象的删除。删除标记不会被WORM保护。
- [结合生命周期]
  
  用户通过配置生命周期规则，定期清理不需要的文件夹和文件，可以释放存储空间，节约存储成本。执行生命周期规则时，OBS会根据桶的多版本状态，针对文件执行不同的删除操作。了解使用生命周期删除对象相关信息，请参见[使用生命周期删除和转换对象存储类别的规则](https://support.huaweicloud.com/usermanual-obs/obs_41_0072.html#ZH-CN_TOPIC_0000001972178513)。
#### 使用方式
OBS支持通过[管理控制台](https://console.huaweicloud.com/console/?locale=zh-cn#/obs/manager/buckets)、API、SDK、OBS Browser+、obsutil方式删除对象或文件夹，单次最多可删除1000个对象。
#### 使用OBS控制台
- [删除未开启多版本控制的对象]
- [删除已开启/暂停多版本控制的对象]
**删除对象**
1. 在OBS[管理控制台](https://console.huaweicloud.com/console/?locale=zh-cn#/obs/manager/buckets)左侧导航栏选择"桶列表"。
2. 在桶列表中，单击待操作的桶，进入"对象"页面。
3. 选中待删除的文件或文件夹，并单击右侧的"更多 \> 删除"。 
   图1删除文件或文件夹
   ![](https://support.huaweicloud.com/usermanual-obs/figure/zh-cn_image_0000002313103285.png)
   
   
4. 单击"确定"，确认删除文件或文件夹。 
   图2删除对象
   ![](https://support.huaweicloud.com/usermanual-obs/figure/zh-cn_image_0000002656473993.png "点击放大")
   
   
   
   
   
**批量删除对象**
如果需要删除桶中大量文件，或者删除一些周期性的文件，可以通过勾选多个文件，以批量方式删除文件。
1. 在OBS[管理控制台](https://console.huaweicloud.com/console/?locale=zh-cn#/obs/manager/buckets)左侧导航栏选择"桶列表"。
2. 在桶列表中，单击待操作的桶，进入"对象"页面。
3. 根据实际需求情况，勾选全部或需要删除的多个文件或文件夹，单击文件列表上方的"删除"。
4. 单击"确定"，确认删除文件或文件夹。 
   还可以通过生命周期功能，定期自动删除桶中对象，提高删除效率。了解如何结合生命周期删除对象，请参见[结合生命周期]。
   
   
 
**删除对象**
1. 在OBS[管理控制台](https://console.huaweicloud.com/console/?locale=zh-cn#/obs/manager/buckets)左侧导航栏选择"桶列表"。
2. 在桶列表中，单击待操作的桶，进入"对象"页面。
3. 启用"历史版本"开关。
4. 勾选需要删除的文件或文件夹，单击搜索栏上方的"彻底删除"。 
   图3彻底删除对象
   ![](https://support.huaweicloud.com/usermanual-obs/figure/zh-cn_image_0000002663299415.png "点击放大")
   
   
5. 单击弹窗中的"确定"，删除对象成功。
**批量删除对象**
1. 在OBS[管理控制台](https://console.huaweicloud.com/console/?locale=zh-cn#/obs/manager/buckets)左侧导航栏选择"桶列表"。
2. 在桶列表中，单击待操作的桶，进入"对象"页面。
3. 启用"历史版本"开关。
4. 根据实际需求情况，勾选全部或需要删除的多个文件或文件夹，单击搜索栏上方的"彻底删除"。
5. 单击弹窗中的"确定"，批量删除对象成功。
 
#### 使用API
[删除对象](https://support.huaweicloud.com/api-obs/obs_04_0085.html)
[批量删除对象](https://support.huaweicloud.com/api-obs/obs_04_0086.html)
#### 使用SDK
![](https://support.huaweicloud.com/usermanual-obs/public_sys-resources/note_3.0-zh-cn.png)
使用BrowserJS SDK与OBS服务交互时，必须将AK/SK暴露到前端，这样会存在安全问题。为避免该问题出现，可让后端生成临时签名URL给前端，前端再与OBS交互。相关操作请参见[如何在不暴露AKSK的条件下实现与OBS交互](https://support.huaweicloud.com/sdk-browserjs-devg-obs/obs_24_1717.html)。
| [Java](https://support.huaweicloud.com/sdk-java-devg-obs/obs_21_0804.html) | [Python](https://support.huaweicloud.com/sdk-python-devg-obs/obs_22_0918.html) | [C](https://support.huaweicloud.com/sdk-c-devg-obs/obs_20_0604.html) | [Go](https://support.huaweicloud.com/sdk-go-devg-obs/obs_33_0506.html) | [BrowserJS](https://support.huaweicloud.com/sdk-browserjs-devg-obs/obs_24_0704.html)  | [.NET](https://support.huaweicloud.com/sdk-dotnet-devg-obs/obs_25_0604.html) | [Android](https://support.huaweicloud.com/sdk-android-devg-obs/obs_26_0604.html) | [iOS](https://support.huaweicloud.com/sdk-ios-devg-obs/obs_27_0604.html) | [PHP](https://support.huaweicloud.com/sdk-php-devg-obs/obs_28_0604.html) | [Node.js](https://support.huaweicloud.com/sdk-nodejs-devg-obs/obs_29_0606.html) |
|---|---|---|---|---|---|---|---|---|---|
   
#### 使用图形化工具OBS Browser+
1. 登录OBS Browser+。
2. 选中待配置的桶，进入文件列表。
3. 右键待删除的文件或文件夹，并单击"删除"。 
   也可以选中多个文件或文件夹，单击文件列表上方的"更多\>删除"进行批量删除。
   
   
4. 选中待删除的文件或文件夹后，在消息确认框中单击"是"。
 
#### 使用命令行工具obsutil
**命令结构：**
- Windows操作系统
  - 删除单个对象
    ```
    obsutil rm obs://bucket/key [-f] [-versionId=xxx] [-fr] [-o=xxx] [-config=xxx] [-e=xxx] [-i=xxx] [-k=xxx] [-t=xxx]
    ```
    
  
  - 批量删除对象
    ```
    obsutil rm obs://bucket/[key] -r [-j=1] [-f] [-v] [-o=xxx] [-config=xxx] [-e=xxx] [-i=xxx] [-k=xxx] [-t=xxx]
    ```
    
   
- macOS/Linux操作系统
  - 删除单个对象
    ```
    ./obsutil rm obs://bucket/key [-f] [-versionId=xxx] [-fr] [-o=xxx] [-config=xxx] [-e=xxx] [-i=xxx] [-k=xxx] [-t=xxx]
    ```
    
  
  - 批量删除对象
    ```
    ./obsutil rm obs://bucket/[key] -r [-j=1] [-f] [-v] [-o=xxx] [-config=xxx] [-e=xxx] [-i=xxx] [-k=xxx] [-t=xxx]
    ```
    
   
**运行示例：**
- 以Windows操作系统为例，运行**obsutil rm obs://bucket-test/key -f** ，删除bucket-test桶中名为key的单个对象。
  ```
  obsutil rm obs://bucket-test/key -f
  Start at 2024-09-25 04:48:10.1147483 +0000 UTC
  Delete object [key] in the bucket [bucket-test] successfully, cost [152], request id [0000016979E1D2B2860BB5181229C72C]
  ```
  

- 以Windows操作系统为例，运行**obsutil rm obs://bucket-test -r -f** ，删除bucket-test桶中所有对象。
  ```
  obsutil rm obs://bucket-test -r -f
  Start at 2024-09-30 08:46:55.5335644 +0000 UTC
  [===============================================] 100.00% 21s
  Succeed count:   1313      Failed count:    0
  Task id: 95936984-f81a-441a-bba0-1fd8254d9241
  ```
  

- 以Windows操作系统为例，运行**obsutil rm obs://bucket-test/key -r -f** ，删除bucket-test桶中所有以key为前缀的对象和文件夹。
  ```
  obsutil rm obs://bucket-test/key -r -f
  Start at 2024-09-30 08:49:09.5602115 +0000 UTC
  [===============================================] 100.00% 21s
  Succeed count:   10      Failed count:    0
  Task id: 79ab59ec-7e00-4f22-8c88-465faa834125
  ```
  
**参数说明：**
| **参数**       | **约束**                                                                                                                         | **描述**                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          |
|:---|:---|:---|
| bucket       | 必选                                                                                                                             | 桶名。                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                             |
| key          | 删除单个对象时必选 批量删除对象时可选           | 待删除的对象名，或批量删除的对象名前缀。 说明： 批量删除对象时，如果该参数为空，则表示删除桶中所有的对象。请谨慎操作。                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                 |
| fr           | 附加参数，删除单个对象时可选                                                                                                                 | 删除单个对象时生成结果清单文件。                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                |
| f            | 附加参数，可选                                                                                                                        | 强制操作，不进行询问提示。请谨慎使用。                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                             |
| versionId    | 附加参数，删除单个对象时可选 删除多版本对象时必选。 | 待删除对象的版本号。                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      |
| r            | 附加参数，批量删除对象时必选                                                                                                                 | 按指定的对象名前缀批量删除对象。 注意： 批量删除对象时，会将与前缀匹配的所有对象删除，请谨慎使用。                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                       |
| j            | 附加参数，批量删除对象时可选                                                                                                                 | 批量删除对象时的最大并发数，默认为配置文件中的defaultJobs。 说明： 工具会保证该值至少为1。                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                     |
| v            | 附加参数，批量删除对象时可选                                                                                                                 | 按指定的对象名前缀批量删除多版本对象和多版本删除标记。                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                     |
| o            | 附加参数，可选                                                                                                                        | 生成结果清单文件的文件夹，命令执行完成后，会在该文件夹下生成结果清单文件（可能包含成功结果和失败结果两个文件），默认为运行obsutil命令的用户目录的子文件夹.obsutil_output。 说明： - 结果清单文件命名规则：rm_{succeed \| failed}_report_时间_TaskId.txt。  - 单个结果清单文件默认情况下最大为30MB且最大可保留的文件个数为1024，可在配置文件中通过recordMaxLogSize和recordBackups分别配置。  - 当涉及多文件/文件夹时，如需确认失败任务的具体错误信息，可参考结果清单文件夹下的失败结果清单文件"cp_failed_report_时间_TaskId.txt"和日志路径下的[日志文件](https://support.huaweicloud.com/utiltg-obs/obs_11_0056.html)。   |
| bucket-cname | 附加参数，可选                                                                                                                        | 指定桶绑定的自定义域名 说明： Util 5.7.9版本及以上支持该参数。                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        |
| config       | 附加参数，可选                                                                                                                        | 运行当前命令时的自定义配置文件。可支持的配置参数请参考[配置参数说明](https://support.huaweicloud.com/utiltg-obs/obs_11_0035.html)。                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                               |
| e            | 附加参数，可选                                                                                                                        | 指定终端节点。                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                         |
| i            | 附加参数，可选                                                                                                                        | 指定用户的AK。                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        |
| k            | 附加参数，可选                                                                                                                        | 指定用户的SK。                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        |
| t            | 附加参数，可选                                                                                                                        | 指定用户的securitytoken。                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                             |
   
**响应结果：**
| **字段名**       | **描述**                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              |
|:---|:---|
| Parallel      | 请求中的-p参数。                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                           |
| Jobs          | 请求中的-j参数。                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                           |
| Threshold     | 请求中的-threshold参数。                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                   |
| PartSize      | 请求中的-ps参数。                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          |
| Exclude       | 请求中的-exclude参数。                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                     |
| Include       | 请求中的-include参数。                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                     |
| TimeRange     | 请求中的-timeRange参数。                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                   |
| VerifyLength  | 请求中的-vlength参数。                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                     |
| VerifyMd5     | 请求中的-vmd5参数。                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        |
| CheckpointDir | 请求中的-cpd参数。                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                         |
| OutputDir     | 请求中的-o参数。                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                           |
| ArcDir        | 请求中的-arcDir参数。                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      |
| Succeed count | 成功的任务数。                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                             |
| Failed count  | 失败的任务数。                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                             |
| Skip count    | 增量上传/下载/复制、同步上传/下载/复制跳过的任务数。 说明： 跳过的任务数也会记录到成功的任务数中。                                                                                                                                                                                                                                                                                                                                                                                                                                                                            |
| Warning count | 执行完成但包含警告的任务数。 说明： - 产生警告的任务可能是失败的也可能是成功的，需要根据成功或失败的结果清单进一步判断。  - 产生警告的任务数与成功/失败任务数是相互独立的，总任务数仍是成功的任务数+失败的任务数。   |
| Succeed bytes | 上传/下载成功的字节数。                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        |
| max cost      | 所有任务中的最长耗时，单位：毫秒。                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                   |
| min cost      | 所有任务中的最短耗时，单位：毫秒。                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                   |
| average cost  | 平均耗时，单位：毫秒。                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                         |
| average tps   | 平均每秒的任务完成个数。                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        |
| Task id       | 每次运行的唯一标识号，用于查找批量任务生成的结果清单文件。                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                       |
   
#### 日志与监控
为帮助用户及时感知并处理删除操作，OBS提供了从实时感知到事后审计的完整管控能力。用户可以配置删除对象监控的操作REST.PUT.NOTIFICATION，系统会记录所有删除对象操作的详细日志，供用户审计或进一步分析。了解配置监控日志相关操作，请参见[使用桶日志记录OBS日志信息](https://support.huaweicloud.com/usermanual-obs/obs_03_120300.html)。
#### 相关文档
- 如果您想要恢复已删除对象，请参见[已删除的数据是否可以恢复？](https://support.huaweicloud.com/obs_faq/obs_03_0139.html)。
- 了解更多并行文件系统相关信息，请参见[并行文件系统](https://support.huaweicloud.com/usermanual-obs/obs_41_0031.html)。
 
