【问题标题】:amazon s3 deleteObjects nodejs - can't get it workingamazon s3 deleteObjects nodejs - 无法正常工作
【发布时间】:2014-11-15 19:59:38
【问题描述】:

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

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。

【问题讨论】:

    标签: node.js amazon-web-services amazon-s3 amazon


    【解决方案1】:

    好吧,我终于解决了这个问题。

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

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

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

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

    像这样插入项目后,只需使用相同的存储桶和键删除对象即可!至少,对我来说它有效!

    【讨论】:

    • 谢谢!我终于可以从存储桶中删除文件了!
    猜你喜欢
    • 2018-04-26
    • 1970-01-01
    • 1970-01-01
    • 2023-01-18
    • 2019-07-10
    • 2014-01-27
    • 2012-04-23
    • 1970-01-01
    • 2021-08-03
    相关资源
    最近更新 更多