上传照片时s3bucket出现问题

时间:2019-05-31 13:50:29

标签: javascript amazon-web-services amazon-s3 async-await

我正在尝试压缩照片并动态上传到s3bucket并得到此错误

  

错误:连接ETIMEDOUT

我正在根据数据压缩图像从mongodb获取数据(listingid,.....),并在上传图像时出错,并上传到Amazon s3bucket。

每个Listingid都有25张以上的照片
如果我上传400到500张图像,则可以正常工作,如果我上传500张以上,则会引发此错误

  

(错误:连接ETIMEDOUT 13.249.226.146:443           在Object._errnoException(util.js:1022:11)           在_exceptionWithHostPort(util.js:1044:20)           在TCPConnectWrap.afterConnect上[作为oncomplete](net.js:1198:14))

我的文件名是imagecompress.js     试过这个     节点--max-old-space-size = 60000 imagecompress.js

MongoClient.connect("url", function(err, db) {console.log(err);
const cb = (err) => { if(err) console.error(err); }
db.collection('abc').aggregate([{ $match: {}},{ $group: {_id: {}}}],function(e,s){



    var rs=JSON.parse(JSON.stringify(s));
      var result = rs.slice(0,10); // workin fine
      var result = rs.slice(0,100); // throws an error



   for(i=0;i<result.length;i++){
     put_from_url(......, function(err, res) {
            if (err)
                  throw err;
                  console.log(JSON.stringify(res));
              console.log('Uploaded data successfully!');
          });
}
})
function put_from_url(url, .., .., ..,callback) {
    console.log(key)
    request({
        url: url,
        encoding: null
    }, function(err, res, body) {
        if (err)
            return callback(err, res);
});
        }


    s3.putObject({
              Bucket: bucket,
              Key: '../'+..+'/'+..,
              ContentType : 'image/jpeg',
              ContentLength: res.headers['content-length'],
               Body: body // buffer
            }, callback);
        })
    }

0 个答案:

没有答案