const AWS = require('aws-sdk');
AWS.config.update({
accessKeyId: 'YOUR_ACCESS_KEY',
secretAccessKey: 'YOUR_SECRET_ACCESS_KEY',
region: 'YOUR_REGION'
});
const s3 = new AWS.S3();
const deleteS3Folder = async (bucket, folderPath) => {
const listObjectsResponse = await s3.listObjectsV2({
Bucket: bucket,
Prefix: folderPath
}).promise();
const objectsToDelete = listObjectsResponse.Contents.map(obj => ({ Key: obj.Key }));
if (objectsToDelete.length > 0) {
await s3.deleteObjects({
Bucket: bucket,
Delete: { Objects: objectsToDelete }
}).promise();
}
if (listObjectsResponse.IsTruncated) {
await deleteS3Folder(bucket, folderPath);
}
};
// Example usage
const bucketName = 'YOUR_BUCKET_NAME';
const folderPathToDelete = 'path/to/your/folder/';
deleteS3Folder(bucketName, folderPathToDelete);