Несколько методов удаления папки в корзине S3 с помощью CLI: AWS CLI, Python (Boto3) и Node.js (AWS SDK для JavaScript)

Чтобы удалить папку в корзине 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.