У меня 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?