【发布时间】:2012-08-03 14:14:04
【问题描述】:
我正在寻找一种更好的方法来删除 S3 存储桶。
适用于 .Net 的 AWS 开发工具包不允许删除非空存储桶和
没有任何重载的DeleteBucket() 可以删除存储桶中的任何子对象。
这是我目前删除存储桶的方式 -
- 检索桶中的所有对象
- 删除对象
- 删除存储桶
//先删除桶中的所有对象——非空桶是不能删除的
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 中删除存储桶是否有更好的方法 - 我不需要先获取对象。
我在适用于 .Net 的 AWS 开发工具包中缺少任何方法吗?
谢谢!
【问题讨论】:
标签: .net sdk amazon-s3 amazon-web-services