Я пытаюсь увеличить количество моих объектов s3, связанных с одной конкретной записью блога в моей базе данных, но я получаю зависание о том, как передать массив моему объекту params, который будет использоваться в методе s3.deleteObjects
, но я задерживаю эту ошибку: Check with error message InvalidParameterType: Expected params.Delete.Objects[0].Key to be a string
. Я чувствую, что это может быть связано с отсутствием цикла в какой-то момент процесса или, может быть, с форматом значений, передаваемых в мой массив s3File
.Nodejs S3 Удалить несколько объектов Error
Вот моя маршрутизация:
.delete(function(req, res){
models.File.findAll({
where: {
blogId: blog.blogId
}
}).then(function(file){
var s3Files = [];
function s3Key(link){
var parsedUrl = url.parse(link);
var fileName = parsedUrl.path.substring(1);
return fileName;
}
for(var k in file){
console.log('Here are each files ' + file[k].fileName);
s3Files.push(s3Key(file[k].fileName));
}
console.log('Here are the s3Files ' + s3Files);
//GOTTEN TO THIS POINT WITHOUT AN ERROR
aws.config.update({accessKeyId: process.env.AWS_ACCESS_KEY, secretAccessKey: process.env.AWS_SECRET_KEY, region: process.env.AWS_REGION});
//var awsKeyPath = s3Key(file.fileName);
var s3 = new aws.S3();
var options = {
Bucket: process.env.AWS_BUCKET,
Delete: {
Objects: [{
Key: s3Files
}],
},
};
s3.deleteObjects(options, function(err, data){
if(data){
console.log("File successfully deleted");
} else {
console.log("Check with error message " + err);
}
});
});
Вот выход из console.log('Here are each files ' + file[k].fileName);
:
Here are each files https://local-bucket.s3.amazonaws.com/1/2017-02-12/screen_shot_2017-02-01_at_8_25_03_pm.png
Here are each files https://local-bucket.s3.amazonaws.com/1/2017-02-13/test.xlsx
Here are each files https://local-bucket.s3.amazonaws.com/1/2017-02-13/screen-shot-2017-02-08-at-8.23.37-pm.png
Вот выход из console.log('Here are the s3Files ' + s3Files);
:
Here are the s3Files 1/2017-02-12/screen_shot_2017-02-01_at_8_25_03_pm.png,1/2017-02-13/test.xlsx,1/2017-02-13/screen-shot-2017-02-08-at-8.23.37-pm.png
Вот сообщение об ошибке:
Check with error message InvalidParameterType: Expected params.Delete.Objects[0].Key to be a string
Это сработало отлично. Спасибо! – cphill