Skip to content

Stream selected files from an Amazon s3 bucket/folder.

Notifications You must be signed in to change notification settings

orangewise/s3-files

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

81 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

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)
  })

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

About

Stream selected files from an Amazon s3 bucket/folder.

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published