I need to check if a file exists using AWS SDK. Here is what I\'m doing:
var params = {
Bucket: config.get(\'s3bucket\'),
Key: path
};
s3.getSignedU
Synchronous call on S3 in Nodejs instead of asynchronous call using Promise
var request = require("request");
var AWS = require("aws-sdk");
AWS.config.update({
accessKeyId: "*****",
secretAccessKey: "********"
});
const s3 = new AWS.S3();
var response;
function initialize(bucket,key) {
// Setting URL and headers for request
const params = {
Bucket: bucket,
Key: key
};
// Return new promise
return new Promise(function(resolve, reject) {
s3.headObject(params, function(err, resp, body) {
if (err) {
console.log('Not Found : ' + params.Key );
reject(params.Key);
} else {
console.log('Found : ' + params.Key );
resolve(params.Key);
}
})
})
}
function main() {
var foundArray = new Array();
var notFoundArray = new Array();
for(var i=0;i<10;i++)
{
var key = '1234'+ i;
var initializePromise = initialize('****',key);
initializePromise.then(function(result) {
console.log('Passed for : ' + result);
foundArray.push(result);
console.log (" Found Array : "+ foundArray);
}, function(err) {
console.log('Failed for : ' + err);
notFoundArray.push(err);
console.log (" Not Found Array : "+ notFoundArray);
});
}
}
main();