s3-files
Version:
Stream selected files from an Amazon S3 bucket/folder
106 lines (74 loc) • 2.38 kB
Markdown
//img.shields.io/badge/code%20style-standard-brightgreen.svg)](http://standardjs.com/)
Stream selected files from an Amazon s3 bucket/folder.
```
npm install s3-files
```
Refer to the [AWS SDK][aws-sdk-url] for authenticating to AWS prior to using this plugin.
```javascript
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)
})
```
```javascript
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)
})
```
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
```
[ ]: https://docs.aws.amazon.com/sdk-for-javascript/v3/developer-guide/configuring-the-jssdk.html
[ ]: https://badge.fury.io/js/s3-files.svg
[ ]: https://badge.fury.io/js/s3-files
[ ]: https://travis-ci.org/orangewise/s3-files.svg?branch=master
[ ]: https://travis-ci.org/orangewise/s3-files
[ ]: https://coveralls.io/repos/github/orangewise/s3-files/badge.svg?branch=master
[ ]: https://coveralls.io/github/orangewise/s3-files?branch=master
[![npm version][npm-badge]][npm-url]
[![Build Status][travis-badge]][travis-url]
[![Coverage Status][coveralls-badge]][coveralls-url]
[![JavaScript Style Guide](https: