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,对我来说,它的工作!