Чтобы удалить папку в корзине S3 с помощью интерфейса командной строки (CLI), вы можете использовать различные подходы. Вот несколько методов с примерами кода:
Метод 1: использование интерфейса командной строки AWS
aws s3 rm s3://bucket-name/folder-name --recursive
Эта команда использует команду s3 rm
интерфейса командной строки AWS с флагом --recursive
для удаления всех объектов в указанной папке.
Метод 2. Использование AWS SDK для Python (Boto3)
import boto3
bucket_name = 'bucket-name'
folder_name = 'folder-name'
s3 = boto3.resource('s3')
bucket = s3.Bucket(bucket_name)
for obj in bucket.objects.filter(Prefix=folder_name):
s3.Object(bucket.name, obj.key).delete()
Этот код Python использует библиотеку Boto3 для взаимодействия с AWS S3. Он перебирает все объекты с указанным префиксом (т. е. папку) и удаляет их.
Метод 3. Использование AWS SDK для Node.js (AWS SDK для JavaScript)
const AWS = require('aws-sdk');
const bucketName = 'bucket-name';
const folderName = 'folder-name';
const s3 = new AWS.S3();
const params = {
Bucket: bucketName,
Prefix: folderName
};
s3.listObjectsV2(params, (err, data) => {
if (err) throw err;
const objects = data.Contents.map(obj => ({ Key: obj.Key }));
if (objects.length > 0) {
const deleteParams = {
Bucket: bucketName,
Delete: {
Objects: objects,
Quiet: false
}
};
s3.deleteObjects(deleteParams, (err, data) => {
if (err) throw err;
console.log('Objects deleted successfully.');
});
}
});
Этот код Node.js использует AWS SDK для JavaScript (Node.js) для вывода списка всех объектов с указанным префиксом (т. е. папки) и их удаления с помощью метода deleteObjects
.