我在尋找更好的方法來刪除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中是否存在缺少的方法?
謝謝!