title: Create S3 Bucket if None Exists
body: <p>My node.js application needs to upload files to S3. Most of the time, it will upload the file to an existing bucket. But sometimes, the bucket will need to be created first. Is there a way to check whether the bucket already exists, and if not, create it before initiating the upload? Here's what I've got so far:</p>
  
  <pre><code>function uploadit () {
    'use strict';
    console.log('Preparing to upload the verse.')
    var s3 = new AWS.S3({apiVersion: '2006-03-01'});
    var uploadParams = {Bucket: 'DynamicBucketName', key: '/test.mp3', Body: myvalue, ACL: 'public-read'};
    var file = 'MyVerse.mp3';
  
    var fs = require('fs');
    var fileStream = fs.createReadStream(file);
    fileStream.on('error', function(err) {
      console.log('File Error', err);
    });
    uploadParams.Body = fileStream;
  
    var path = require('path');
    uploadParams.Key = book.replace(/ /g, "")+reference.replace(/ /g, "")+"_user"+userid+".mp3";
  
    // call S3 to retrieve upload file to specified bucket
    s3.upload (uploadParams, function (err, data) {
      if (err) {
        console.log("Error", err);
      } if (data) {
        console.log("Upload Success", data.Location);
        linkit();
        addanother();
      }
    });
  
  }
  </code></pre>