Reputation: 1
I am using below code to set bucket versioning but it is giving me error. How to set AWS s3 bucket versioning in Node JS?
....................................................................................................................................................................................................................................
let params = {
Bucket:"home",
ACL:"public-read-write",
VersioningConfiguration: {
MFADelete: "Disabled",
Status: "Enabled"
}
}
let callBack = (err,data)=>{
if(err){
console.log("--------- Home Bucket Creation Fail --------",err);
callCreateBucket()
// setTimeout(()=>{
// callCreateBucket()
// },3000)
}
else
console.log("--------- Home Bucket Created with version setup --------",data);
}
function callCreateBucket(){
console.log("---------callCreateBucket --------");
createBucket (params , callBack)
}
function createBucket (param ,cb ){
console.log("---------createBucket --------");
setTimeout(()=>{
s3.createBucket(param,cb);
},10000)
}
callCreateBucket()
Upvotes: 0
Views: 1452
Reputation: 446
First you need to create a bucket using createBucket
and then use putBucketVersioning
to enable versioning for your bucket.
Upvotes: 1
Reputation: 771
I would avoid putting a setTimetout function in this situation. Better use this template of code from documentation:
// Load the SDK for JavaScript
var AWS = require('aws-sdk');
// Set the region
AWS.config.update({region: 'REGION'});
// Create the parameters for calling createBucket
var bucketParams = {
Bucket : process.argv[2]
};
// Create S3 service object
s3 = new AWS.S3({apiVersion: '2006-03-01'});
// Call S3 to create the bucket
s3.createBucket(bucketParams, function(err, data) {
if (err) {
console.log("Error", err);
} else {
console.log("Success", data.Location);
}
});
Upvotes: 1