我在寻找更好的方法来删除S3存储桶。
适用于.Net的AWS开发工具包不允许删除非空桶,并且
没有任何重载DeleteBucket()
删除存储桶中的任何子对象。删除S3中的存储桶
这是我目前删除水桶的方式 -
- 检索桶中的所有对象
- 删除对象
- 删除桶
//删除的所有对象桶先 - 非空桶不能删除
using (ListObjectsResponse response = amazonS3Client.ListObjects(new ListObjectsRequest().WithBucketName(bucket.Name)))
{
if (response.S3Objects.Count > 0)
{
List<KeyVersion> keys = response.S3Objects.Select(obj => new KeyVersion(obj.Key)).ToList();
DeleteObjectsRequest deleteObjectsRequest = new DeleteObjectsRequest
{
BucketName = bucket.Name,
Keys = keys
};
amazonS3Client.DeleteObjects(deleteObjectsRequest);
}
}
//Delete Bucket
DeleteBucketRequest request = new DeleteBucketRequest
{
BucketName = bucket.Name
};
amazonS3Client.DeleteBucket(request);
是否有更好的方法来删除S3中的存储桶 - 我不需要首先获取对象。
在AWS SDK for .NET中是否存在缺少的方法?
谢谢!