amazon s3 deleteObjects nodejs - 无法正常工作

Posted

技术标签:

【中文标题】amazon s3 deleteObjects nodejs - 无法正常工作【英文标题】:amazon s3 deleteObjects nodejs - can't get it working 【发布时间】: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。

【问题讨论】:

【参考方案1】:

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

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

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

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

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

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

【讨论】:

谢谢!我终于可以从存储桶中删除文件了!

以上是关于amazon s3 deleteObjects nodejs - 无法正常工作的主要内容,如果未能解决你的问题,请参考以下文章

如何使用 Spring Cloud AWS 从 S3 中删除文件?

用于 Delphi 2010 的 Amazon S3 组件

如何在不下载文件的情况下搜索amazon S3存储桶中的文件内容

无法安装 Net::Amazon::S3

使用 AWSSDK.S3 使用 C# 对 Amazon S3 存储桶进行身份验证

基于 *** 的 Amazon S3