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

Delete AWS S3 Object using Nodejs Lambda function

我想使用 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
});

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

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

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

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

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

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