当您不再需要保留某个存储空间(Bucket)时,可将其删除,以免产生额外费用。

警告 删除Bucket后,Bucket中的数据无法恢复,请在删除前确认数据已不再使用。如果需要继续使用Bucket中的数据,请提前做好备份。关于备份的更多信息,请参见备份存储空间

前提条件

  • 已删除Bucket中所有的文件(Object)。
    • 手动删除少量文件的具体操作,请参见删除文件
    • 如果您的文件数量较多,建议结合生命周期规则进行批量删除。删除大量文件的具体操作,请参见生命周期规则
    重要

    如果Bucket已开启版本控制,请确保删除Bucket内的所有当前版本和历史版本文件。删除所有版本文件的具体操作,请参见版本控制相关操作

  • 已删除Bucket中因分片上传或断点续传产生的碎片(Part)。删除碎片的具体操作,请参见删除碎片
  • 已删除Bucket中所有的Livechannel。删除Livechannel的具体操作,请参见DeleteLiveChannel

示例代码

以下代码用于删除存储空间:

DeleteBucketRequest deleteBucketRequest = new DeleteBucketRequest("bucketName");

// 异步删除存储空间。
OSSAsyncTask deleteBucketTask = oss.asyncDeleteBucket(deleteBucketRequest, new OSSCompletedCallback<DeleteBucketRequest, DeleteBucketResult>() {
    @Override
    public void onSuccess(DeleteBucketRequest request, DeleteBucketResult result) {
        Log.d("asyncDeleteBucket", "Success!");
    }
    @Override
    public void onFailure(DeleteBucketRequest request, ClientException clientException, ServiceException serviceException) {
        // 请求异常。
        if (clientException != null) {
            // 本地异常,如网络异常等。
            clientException.printStackTrace();
        }
        if (serviceException != null) {
            // 服务异常。
            Log.e("ErrorCode", serviceException.getErrorCode());
            Log.e("RequestId", serviceException.getRequestId());
            Log.e("HostId", serviceException.getHostId());
            Log.e("RawMessage", serviceException.getRawMessage());
        }
    }
});

相关文档

  • 关于删除Bucket的完整示例代码,请参见GitHub示例
  • 关于删除Bucket的API接口说明,请参见DeleteBucket