Skip to content

akofman/node-s3-extra

Repository files navigation

node-s3-extra Build Status

Convenient extra methods for the AWS.S3 service.

Install

$ npm install s3-extra

Usage

const s3 = require('s3-extra')({ uploadConcurrency: 50 });

// original s3 api services are still reachable
var params = { Bucket: 'bucket', Key: 'key', Body: stream };
s3.putObject(params, (err, data) => {
  console.log(err, data);
});

// plus some extra methods

try {
  // retrieve an S3 object stream from its url
  const objStream = s3.getObjectStream('s3://my-bucket/my/object/filename');

  // upload a folder and keep the same hierarchy
  await s3.uploadFileOrFolder('my/local/folder/path/', 's3://my-bucket/path/', {
    ACL: 'public-read'
  });

  // or just upload a file
  await s3.uploadFileOrFolder(
    'my/local/folder/path/file.txt',
    's3://my-bucket/path/'
  );
} catch (err) {
  throw err;
}

API

Table of Contents

getObjectStream

Retrieves objects from Amazon S3.

Parameters

  • s3Url string a valid s3 url reprensenting the location of the object to get.
  • params object the same params as the AWS getObject method are accepted. (optional, default {})

Returns object a stream object.

uploadFileOrFolder

Uploads a file or a folder to an Amazon S3 bucket.

Parameters

  • contentPath string a path to a file or a folder to upload.
  • s3Url string a valid s3 url representing the location to put the content.
  • params object the same params as the AWS upload method are accepted. (optional, default {})

Returns object a promise.

License

MIT Licensed. Copyright (c) Alexis Kofman 2019.

About

Convenient extra methods for the AWS.S3 service.

Topics

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Contributors 2

  •  
  •