Last active
May 6, 2021 18:58
-
-
Save loretoparisi/0058675d13d1115e7b46b1b66433b327 to your computer and use it in GitHub Desktop.
S3 Delete Object with VersionId
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
function deleteVersionedObject(bucket, key, callback) { | |
var params = { | |
Bucket: bucket, | |
Key: key | |
}; | |
s3.deleteObject(params, function (error, data) { | |
if (error) { | |
console.error("S3Dataset delete error key:%s error:%@", params.key, error); | |
return callback(error); | |
} | |
else if (!Util.empty(data) && | |
!Util.empty(data) && | |
data.DeleteMarker && | |
!Util.empty(data.VersionId)) { // object version to delete | |
var VersionId = data.VersionId; | |
// The bucket is versioned - https://docs.aws.amazon.com/AmazonS3/latest/dev/DeleteMarker.html | |
// { "DeleteMarker": true, "VersionId": "azW0.aiZyTSQzjwFe0YkIkGyL.JXJK8y" } | |
console.log("S3Dataset delete key:%s version:%@", params.key, VersionId); | |
var params = { | |
Bucket: params.Bucket, | |
Key: params.key, | |
VersionId: VersionId | |
}; | |
s3.deleteObject(params, function (error, data) { | |
if (error) { | |
console.error("S3Dataset delete error key:%s error:%@", params.key, error); | |
return callback(error); | |
} else { | |
return callback(null, data); | |
} | |
}); | |
} | |
else { | |
var error = new Error('delete error'); | |
console.error("S3Dataset delete error key:%s error:%@", params.key, error); | |
return callback(error); | |
} | |
}) | |
} |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment