使用Nodejs Lambda函数删除AWS S3对象

时间:2017-03-10 10:08:48

标签: amazon-web-services amazon-s3 aws-sdk

我想根据使用Nodejs Lambda函数创建的时间删除AWS S3对象。我想删除特定文件夹中24小时之前创建的所有对象 现在我试图删除多个成功的对象,但我不知道如何用时间来实现

var params = {
      Bucket: s3bucket, 
      Delete: { 
        Objects: [ 
          {
            Key: 'scheduled_lambda_test/1.png' 
          },
          {
            Key: 'scheduled_lambda_test/2.png' 
          }
        ]
      }
    };

s3.deleteObjects(params, function(err, data) {
  if (err) console.log(err, err.stack); // an error occurred
  else     console.log(data);           // successful response
});

1 个答案:

答案 0 :(得分:2)

您可以使用节点sdk并执行以下操作

  1. 对您的文件夹使用listObject操作。

  2. 遍历为该文件夹返回的所有对象,并检查上次修改日期。

  3. 如果对象已过期,请将对象键添加到数组中。

  4. 删除过期数组中的所有对象

  5. 节点SDK文档 - http://docs.aws.amazon.com/AWSJavaScriptSDK/latest/AWS/S3.html