Loading AwsSum's Amazon S3

var awssum = require('awssum');
var amazon = awssum.load('amazon/amazon');
var S3 = awssum.load('amazon/s3').S3;

var s3 = new S3({
    'accessKeyId'     : process.env.accessKeyId,
    'secretAccessKey' : process.env.secretAccessKey,
    'region'          : amazon.US_EAST_1
});

Examples

List Buckets (Open docs on AWS)

s3.ListBuckets(function(err, data) {
    console.log("\nlisting all the buckets (no options given) - expecting success");
    console.log(err, 'Error');
    console.log(data, 'Data');
});

List Objects

var options = {
    BucketName : 'object-17',
    MaxKeys : 4
};
s3.ListObjects(options,function(err, data) {
    console.log("\nlisting all the objects - expecting success");
    console.log(err, 'Error');
    console.log(data, 'Data');

    // check for error
    if ( err ) {
        console.log('Not doing another ListObjects since there was an error');
        return;
    }

    // now do a marker
    if ( data.Body.ListBucketResult.IsTruncated === 'true' ) {
        options.Marker = _.last(data.Body.ListBucketResult.Contents).Key;

        s3.ListObjects(options, function(err, data) {
            console.log("getting the next set - expecting success");
            console.log(err, 'Error');
            console.log(data, 'Data');
        });
    }
});

List Objects (With prefix)

var options = {
    BucketName : 'object-17',
    MaxKeys : 4,
    Prefix : 'c'
};
s3.ListObjects(options,function(err, data) {
    console.log("\nlisting all the buckets (with a prefix) - expecting success");
    console.log(err, 'Error');
    console.log(data, 'Data');
});