@sustainhawaii/s3-files

2.1.11 • Public • Published

s3-files

npm version Build Status Coverage Status JavaScript Style Guide

Stream selected files from an Amazon s3 bucket/folder.

Install

npm install s3-files

AWS Configuration

Refer to the AWS SDK for authenticating to AWS prior to using this plugin.

Usage: Stream files from a bucket folder

var s3Files = require('s3-files')

var region = 'bucket-region'
var bucket = 'name-of-s3-bucket'
var folder = 'name-of-bucket-folder/'
var file1 = 'Image A.png'
var file2 = 'Image B.png'
var file3 = 'Image C.png'
var file4 = 'Image D.png'

// Create a stream of keys.
var keyStream = s3Files.connect({
  region: region,
  bucket: bucket
}).createKeyStream(folder, [file1, file2, file3, file4])

// Stream the files.
s3Files.createFileStream(keyStream).on('data', function (chunk) {
  console.log(chunk.path, chunk.data.length)
})

// Add extra parameters to use with S3.getObject with optional extraGetObjectParams parameter:

// Create a stream of keys.
var keyStream = s3Files.connect({
  region: region,
  bucket: bucket,
  extraGetObjectParams: {
    s3CustomerKey: AWS_CUSTOMER_KEY
  }
}).createKeyStream(folder, [file1, file2, file3, file4])

Usage: Stream files from the root of a bucket

var s3Files = require('s3-files')

var region = 'bucket-region'
var bucket = 'name-of-s3-bucket'
var folder = ''
var file1 = 'Image A.png'
var file2 = 'Image B.png'
var file3 = 'Image C.png'
var file4 = 'Image D.png'

// Create a stream of keys.
var keyStream = s3Files.connect({
  region: region,
  bucket: bucket
}).createKeyStream(folder, [file1, file2, file3, file4])

// Stream the files.
s3Files.createFileStream(keyStream).on('data', function (chunk) {
  console.log(chunk.path, chunk.data.length)
})

Testing

Tests are written in Node Tap, run them like this:

npm t

If you would like a more fancy report:

npm test -- --cov --coverage-report=lcov

Package Sidebar

Install

npm i @sustainhawaii/s3-files

Weekly Downloads

2

Version

2.1.11

License

MIT

Unpacked Size

9.43 kB

Total Files

6

Last publish

Collaborators

  • nidhinmathew
  • basavarajaut
  • abhisustain
  • muralisustain
  • anirsustain
  • cksh