使用JavaScript API设置S3对象到期(用于删除)

我正在使用适用于Amazon AWS S3的Node.js JavaScript API,并且希望将对象设置为在创build对象后指定的天数过期。 也就是说,如果我创build并上传了一个新对象,我希望它从现在起100天左右自动删除它自己。 是否可以设置每个对象的删除到期?

文件表明这可能是可能的:

Amazon S3提供了一个到期操作,您可以在生命周期configuration中指定过期操作以使对象过期。

当一个对象到达其生命周期结束时,Amazon S3会将其排队并将其移除,并将其asynchronous移除。 到期date与Amazon S3删除对象的date之间可能存在延迟。 与过期的对象相关联的存储时间不收取费用。

但是,似乎我必须在桶configuration中设置此过期,而不是在上传/创build它们时按对象。

JavaScript SDK文档指出,我可以在创build对象时设置Expires参数,但是当S3为后续GET请求返回对象时,这似乎是针对Expires HTTP标头的。

有没有办法在创build对象时设置对象的到期date?

 s3.putObject({ Bucket: config.s3.bucketName, Key: s3Key, Body: objBuffer, ACL: 'public-read', ContentType: 'image/jpeg', StorageClass: 'REDUCED_REDUNDANCY', // Some option here for setting expiration/deletion date? }, function () { console.log(arguments); }); 

您不能单独设置每个对象的到期规则。 要定义对象到期规则,您必须定义存储桶生命周期configuration 。

要使用node.js API执行此操作,请参阅putBucketLifecycle调用。 您也可以查看有关存储桶生命周期PUT操作的REST API文档。