

# 删除目录存储桶
<a name="directory-bucket-delete"></a>

您只能删除空的 Amazon S3 目录桶。在删除目录桶之前，必须删除桶中的所有对象并中止所有正在进行的分段上传。

如果目录存储桶已附加到接入点，则必须先删除该接入点。有关更多信息，请参阅 [删除目录存储桶的接入点](access-points-directory-buckets-delete.md)。

要清空目录存储桶，请参阅[清空目录存储桶](directory-bucket-empty.md)。要中止正在进行的分段上传，请参阅[中止分段上传](abort-mpu.md)。

要删除通用存储桶，请参阅[删除通用存储桶](delete-bucket.md)。

## 使用 S3 控制台
<a name="directory-bucket-delete-console"></a>

清空目录桶并中止所有正在进行的分段上传后，您可以删除桶。

1. 登录到 AWS 管理控制台，然后通过以下网址打开 Amazon S3 控制台：[https://console.aws.amazon.com/s3/](https://console.aws.amazon.com/s3/)。

1. 在左侧导航窗格中，选择**目录存储桶**。

1. 在**目录桶**列表中，选择要删除的桶旁边的选项按钮。

1. 选择**删除**。

1. 在**删除桶**页面上，在文本字段中输入桶的名称以确认删除您的桶。
**重要**  
无法撤消删除目录存储桶的操作。

1. 要删除您的目录存储桶，请选择**删除存储桶**。

## 使用 AWS SDK
<a name="directory-bucket-delete-sdks"></a>

以下示例使用 AWS SDK for Java 2.x 和 适用于 Python (Boto3) 的 AWS SDK 删除目录桶。

------
#### [ SDK for Java 2.x ]

**Example**  

```
public static void deleteBucket(S3Client s3Client, String bucketName) {
     
    try {
        DeleteBucketRequest del = DeleteBucketRequest.builder()
                .bucket(bucketName)
                .build();
        s3Client.deleteBucket(del);
        System.out.println("Bucket " + bucketName + " has been deleted");
    } 
    catch (S3Exception e) {
        System.err.println(e.awsErrorDetails().errorMessage());
        System.exit(1);
    }
}
```

------
#### [ SDK for Python ]

**Example**  

```
import logging
import boto3
from botocore.exceptions import ClientError

def delete_bucket(s3_client, bucket_name):
    '''
    Delete a directory bucket in a specified Region

    :param s3_client: boto3 S3 client
    :param bucket_name: Bucket to delete; for example, 'doc-example-bucket--usw2-az1--x-s3'
    :return: True if bucket is deleted, else False
    '''

    try:
        s3_client.delete_bucket(Bucket = bucket_name)
    except ClientError as e:
        logging.error(e)
        return False
    return True

if __name__ == '__main__':
    bucket_name = 'BUCKET_NAME'
    region = 'us-west-2'
    s3_client = boto3.client('s3', region_name = region)
```

------

## 使用 AWS CLI
<a name="directory-bucket-delete-cli"></a>

此示例说明如何使用 AWS CLI 删除目录存储桶。要使用该命令，请将*用户输入占位符* 替换为您自己的信息。

```
aws s3api delete-bucket --bucket bucket-base-name--zone-id--x-s3 --region us-west-2
```

有关更多信息，请参阅 AWS Command Line Interface 中的 [delete-bucket](https://awscli.amazonaws.com/v2/documentation/api/latest/reference/s3api/delete-bucket.html                 )。