1

次のコードで、knox を使用して S3 に書き込もうとしています。

var knox = require('knox');

var client = knox.createClient({
    key: 'key'
    , secret: 'pass'
    , bucket: S3_BUCKET
});

fs.stat("/opt/files/" + url, function(err, stats) {
     if (stats != null && stats.size != 0){
           var req = client.put(url, {
      'Content-Length': stats.size
        });
        req.on('error' ,function (err){
            console.log(err);
        })
        var readstr = fs.createReadStream("/opt/files/" + url);
        readstr.pipe(req);
        readstr.on('error', function (err){
          console.log(err);
        })

大きなファイルに対して次のエラーが表示されます(900MBのファイルをチェックします):

{ [Error: write ECONNRESET] code: 'ECONNRESET', errno: 'ECONNRESET', syscall: 'write' }

証明書は問題ありません。キーとシークレット アクセス キーを使用して、Amazon やその他の npm パッケージにログインできます。さらに、Knox を使用して小さなファイルをアップロードすることに成功しました。

接続エラーであることはわかっていますが、なぜ発生するのか、どうすれば解決できるのかわかりません。

4

2 に答える 2