gl-store-s3.js/cleanup.js

37 lines
1.2 KiB
JavaScript

require('dotenv').config();
let accessKeyId = process.env.AWS_ACCESS_KEY_ID
secretAccessKey = process.env.AWS_SECRET_ACCESS_KEY
bucketName = process.env.AWS_BUCKET_NAME
bucketRegion = process.env.AWS_BUCKET_REGION
var AWS = require('aws-sdk');
AWS.config.setPromisesDependency(Promise);
AWS.config.update({ region: bucketRegion, credentials: new AWS.Credentials({ accessKeyId: accessKeyId, secretAccessKey: secretAccessKey }) });
const s3 = new AWS.S3({ apiVersion: '2006-03-01' });
s3.listObjects({ Bucket: bucketName }).promise().then(function(data){
console.log("Retieved list of object keys");
if (data.Contents.length <= 0) {
console.log('The bucket is already empty :)');
return
}
var objectKeys = [];
for(let i = 0; i < data.Contents.length; i++){
objectKeys.push({
Key: data.Contents[i].Key
})
}
s3.deleteObjects({ Delete: { Objects: objectKeys }, Bucket: bucketName }).promise().then(function (data) {
console.log("Clean up successful.");
}).catch( function(err) {
console.error(err.message);
throw err;
});
}).catch( function(err) {
console.error(err.message);
throw err;
});