in source/resources/helper/lib/s3-helper.js [249:307]
_downloadManifest(s3Bucket, s3Key) {
let _self = this;
return new Promise((resolve, reject) => {
let params = {
Bucket: s3Bucket,
Key: s3Key,
};
Logger.log(
Logger.levels.ROBUST,
`Attempting to download manifest: ${JSON.stringify(params)}`
);
// check to see if the manifest file exists
let s3 = new AWS.S3();
s3.headObject(params, function (err, metadata) {
if (err) {
Logger.error(
Logger.levels.INFO,
`${err}`
);
// Handle no object on cloud here
if (err.code === 'NotFound') {
Logger.error(
Logger.levels.INFO,
`manifest file doesn't exist`
);
reject('Manifest file was not found.');
} else {
reject(err);
}
} else {
Logger.log(
Logger.levels.ROBUST,
`manifest file doesn't exist`
);
Logger.log(
Logger.levels.ROBUST,
`${metadata}`
);
let file = require('fs').createWriteStream(_self.downloadLocation);
s3.getObject(params)
.on('httpData', function (chunk) {
file.write(chunk);
})
.on('httpDone', function () {
file.end();
Logger.log(
Logger.levels.ROBUST,
`manifest downloaded for processing...`
);
resolve('success');
})
.send();
}
});
});
}