How to determine if object exists AWS S3 Node.JS sdk

后端 未结 8 1557
梦毁少年i
梦毁少年i 2020-12-13 03:39

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         


        
8条回答
  •  温柔的废话
    2020-12-13 03:48

    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();
    

提交回复
热议问题