AWS S3 Download/Upload File (Node.js)

JS
S
JavaScript

Sample from reading/writing from/to a S3 Bucket

1// Download
2var fileStream = fs.createWriteStream('/path/to/file.jpg');
3var s3Stream = s3.getObject({Bucket: 'myBucket', Key: 'myImageFile.jpg'}).createReadStream();
4// Listen for errors returned by the service
5s3Stream.on('error', function(err) {
6    // NoSuchKey: The specified key does not exist
7    console.error(err);
8});
9s3Stream.pipe(fileStream).on('error', function(err) {
10    // capture any errors that occur when writing data to the file
11    console.error('File Stream:', err);
12}).on('close', function() {
13    console.log('Done.');
14});
15
16
17// Upload
18const fileStream = fs.createReadStream(filePath);
19const params = {
20  Body: fileStream,
21  Bucket: 'x',
22  Key: filePath,
23  Tagging: 'reportenv=staging'
24};
25AWSService.s3.putObject(params, function(err, data) {
26  if (err) {
27    logService.log('error', 'failed s3 upload', err);
28    reject(err);
29  } else {
30    logService.log('info', `completed upload`, data);
31    resolve(data);
32  }
33});

Created on 12/4/2019