amazon-web-services - 使用 Nodejs Lambda 函数删除 AWS S3 对象

标签 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
});

最佳答案

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

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

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

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

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

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

关于amazon-web-services - 使用 Nodejs Lambda 函数删除 AWS S3 对象,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/42715682/

相关文章:

amazon-web-services - 在AWS托管中的安全组中设置动态IP?

amazon-web-services - 使用 cloudFormation 将角色附加到现有 EC2 实例

python - AWS Lambda 中退出与返回的用法

python - 在 Python 中无需身份验证即可将大文件上传到 S3

amazon-web-services - 如何从 CloudFormation 中的另一个堆栈导入现有 S3 存储桶?

node.js - 如何在 Lambda 中使用 putParameter 和 aws-sdk for nodejs 获取过去的错误?

r - aws.s3 R 包 - put() 用于浏览器显示的图像

javascript - AWS 开发工具包 getOjbect 不返回文件

javascript - 如何在EvaporateJS的cryptoMd5方法中使用nodejs crypto

docker - 如何从 ECS 容器内获取任务 ID?