I had to delete a bucket from S3 server But the problem is, a bucket can only be deleted if it is empty. Delete objects using User Interface on Amazon S3 management console is a tough job and very time consuming. Take a look at the following screenshot.
If you are familier with Amazon SDK PHP2 go with the following code to accomplish this task easily..
require 'vendor/autoload.php'; use Aws\S3\S3Client; use Aws\S3\Model\ClearBucket; $s3 = S3Client::factory(array( 'key' => 'write_your_key_here', 'secret' => 'write_your_secret_key_here' )); $bucket = 'your_bucket_name'; $clear = new ClearBucket($s3, $bucket); $clear->clear(); // Delete the bucket $result = $s3->deleteBucket(array('Bucket' => $bucket)); // Wait until the bucket is not accessible $result1 = $s3->waitUntilBucketNotExists(array('Bucket' => $bucket));
Another way to do this..
$bucket = 'your_bucket_name'; $iterator = $s3->getIterator('ListObjects', array( 'Bucket' => $bucket )); $s3->registerStreamWrapper(); foreach ($iterator as $object) { unlink('s3://'.$bucket.'/'.$object['Key']); }
No comments:
Post a Comment