amazon s3 deleteObjects nodejs – 无法让它工作

我正在使用nodejs并试图一次删除多个对象。 但由于某种原因,尽pipe没有返回任何错误,操作不能按预期工作(文件不被删除)。 这里是代码:

s3.deleteObjects({ Bucket: 'myprivatebucket/some/subfolders', Delete: { Objects: [ { Key: 'nameofthefile1.extension' }, { Key: 'nameofthefile2.extension' }, { Key: 'nameofthefile3.extension' } ] } }, function(err, data) { if (err) return console.log(err); console.log('success'); }); 

如果我尝试遍历这些文件,并使用s3.deleteObject方法,那么它工作得很好。

我也试图指定没有其子文件夹(如“myprivatebucket”),但我没有得到任何结果。

任何想法如何使这个事情工作? 我使用节点版本:0.10.32和aws应该是2.0.17。

那么最后我解决了这个问题。

插入文件时,我将所谓的子文件夹包含在存储桶名称中。 例如:

 { Bucket: 'myprivatebucket/some/subfolders', Key: 'nameofthefile1.extension' } 

这显然是错误的,应该避免。 正确的用例如下:

 { Bucket: 'myprivatebucket', Key: 'some/subfolders/nameofthefile1.extension' } 

插入这样的项目后,只需使用相同的桶和键来删除对象,它将工作! 至less,对我来说,它的工作!