Как окончательно удалить последнюю версию S3 Object с помощью Nodejs - PullRequest
2 голосов
/ 21 ноября 2019

У меня S3 bucket с включенным контролем версий. Всякий раз, когда я делаю вызов deleteObject , используя aws sdk для javascript, он помечает объект как маркер удаления . Как указано в документации , для окончательного удаления объекта s3 необходимо указать «VersionId».
Из документации S3 для выполнения вызова удаления:

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

Я хочу (навсегда) удалить последнюю версию объекта. Я знаю, что для этого:

  • Версии должны быть извлечены.
  • Вызовите «deleteObject» для этой версии с «VersionId».

Вышеупомянутый подход требует 2 вызовов API (сначала для извлечения версий, а затем для удаления версии объекта). Я прошел через несколько решений, и у них был такой же подход, как указано выше.
Я пытаюсь сократить количество вызовов API до одного.

  • Есть ли способ указать заполнитель для последней версии в параметре "VersionId" запроса, чтобы aws могразрешить его до последней версии?
  • Есть ли другой способ, который потребовал бы одного вызова API?
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...