Да, я знаю. В s3-хранилище нет концепции папок. но я действительно хочу удалить определенную папку из s3 с помощью node.js. Я попробовал два решения, но оба они не работали. Мой код ниже: Решение 1: Удаление папки напрямую.
var key='level/folder1/folder2/';
var strReturn;
var params = {Bucket: MyBucket};
var s3 = new AWS.S3(params);
s3.client.listObjects({
Bucket: MyBucket,
Key: key
}, function (err, data) {
if(err){
strReturn="{\"status\":\"1\"}";
}else{
strReturn=+"{\"status\":\"0\"}";
}
res.send(returnJson);
console.log('error:'+err+' data:'+JSON.stringify(data));
});
На самом деле, у меня много файлов в папке2. Я могу удалить один файл из папки2, если я определяю такой ключ: var key = 'level/folder1/folder2/file1.txt', но это не сработало, когда я удалил папку (key = 'level/folder1/folder2/'). Решение 2: Я попытался установить срок действия объекта, когда я загрузил этот файл или папку в s3. код ниже:
s3.client.putObject({
Bucket: Camera_Bucket,
Key: key,
ACL:'public-read',
Expires: 60
}
Но это тоже не так. После завершения загрузки я проверил свойства этого файла. он показал, что для даты истечения срока действия ничего не было:
Expiry Date:none
Expiration Rule:N/A
Как удалить папку на s3 с помощью node.js?