gpt4 book ai didi

node.js - 使用 JavaScript API 设置 S3 对象过期(用于删除)

转载 作者:搜寻专家 更新时间:2023-10-31 22:19:03 24 4
gpt4 key购买 nike

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

documentation表明这可能是可能的:

Amazon S3 provides an Expiration action that you can specify in your lifecycle configuration to expire objects.

When an object reaches the end of its lifetime, Amazon S3 queues it for removal and removes it asynchronously. There may be a lag between the expiration date and the date at which Amazon S3 removes an object. You are not charged for storage time associated with an object that has expired.

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

JavaScript SDK documentation表示我可以在创建对象时设置 Expires 参数,但这似乎是针对 Expires HTTP header 的,当 S3 为后续 GET 请求返回对象时。

有没有办法在创建对象时设置对象的过期日期?

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

最佳答案

您不能为每个对象单独设置过期规则。要定义对象过期规则,您必须定义一个存储桶 lifecycle configuration .

要使用 node.js API 执行此操作,请参阅 putBucketLifecycle称呼。您还可以查看 bucket lifecycle PUT operation 的 REST API 文档.

关于node.js - 使用 JavaScript API 设置 S3 对象过期(用于删除),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/25791690/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com