【问题标题】:How to permanently delete latest version of S3 Object using Nodejs如何使用 Nodejs 永久删除最新版本的 S3 对象
【发布时间】:2020-03-16 23:03:56
【问题描述】:

我有一个启用了版本控制的 S3 存储桶。每当我使用 javascript 的 aws sdk 进行deleteObject 调用时,它都会用delete marker 标记对象。如documentation 中所述,要永久删除 s3 对象,应指定“VersionId”。
来自 S3 documentation 进行删除调用:

var params = {
     Bucket: 'STRING_VALUE', /* required */
     Key: 'STRING_VALUE', /* required */
     BypassGovernanceRetention: true || false,
     MFA: 'STRING_VALUE',
     RequestPayer: requester,
     VersionId: 'STRING_VALUE'
};
s3.deleteObject(params, function(err, data) {
     i.f (err) console.log(err, err.stack); // an error occurred
     else     console.log(data);           // successful response
});

我想(永久)删除对象的最新版本。我知道,为了这样做:

  • 需要获取版本。
  • 为具有“VersionId”的版本调用“deleteObject”。

上述方法需要 2 个 API 调用(第一个用于获取版本,第二个用于删除对象版本)我已经经历了几个解决方案,它们具有与上面指定的相同的方法。
我正在尝试将 API 调用减少到一个。

  • 有没有一种方法可以在请求的“VersionId”参数中为最新版本指定占位符,以便 aws 将其解析为最新版本?
  • 还有其他方法需要一个 API 调用吗?

【问题讨论】:

    标签: javascript node.js amazon-web-services amazon-s3 aws-sdk


    【解决方案1】:

    不。您需要拨打这两个电话。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2018-06-18
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2018-03-30
      • 2022-12-09
      • 1970-01-01
      相关资源
      最近更新 更多