prashant magar
prashant magar

Reputation: 1

How to set AWS s3 bucket versioning in Node JS?

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

Answers (2)

shwz
shwz

Reputation: 446

First you need to create a bucket using createBucket and then use putBucketVersioning to enable versioning for your bucket.

Upvotes: 1

bembas
bembas

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

Related Questions