2016-10-28 1 views
0

エラーコードを取得しているファイルをアップロードするDeviceFarm S3のURLをアップロード中:ECONNRESET。AWS DeviceFarm S3にURLをアップロードするとエラーが発生します:ECONNRESETを読み取りますか?

これは私のコードです:

var AWS = require('aws-sdk'); 
var fs = require('fs'); 
var req = require('request'); 
var devicefarm = new AWS.DeviceFarm(); 
AWS.config.loadFromPath('C:/Users/Abin.mathew/AWSdata/config.json'); 
var apkPath= "D:/DTS/APKs/TPLegacyPlugin-googleplaystore-debug-rc_16.2.15.apk"; 
var stats = fs.statSync(apkPath); 
var url= "https://prod-us-west-2-uploads.s3-us-west-2.amazonaws.com/arn%3Aaws%3Adevicefarm%3Aus-west-2%3A594587224081%3Aproject%3Ade07f584-7c64-4748-aebd-ec965ab107cf/uploads/arn%3Aaws%3Adevicefarm%3Aus-west-2%3A594587224081%3Aupload%3Ade07f584-7c64-4748-aebd-ec965ab107cf/5dd627eb-4eb2-4f2d-a300-0fde0720bde4/MyAppiumPythonUpload?AWSAccessKeyId"; 

fs.createReadStream(apkPath).pipe(req({ 
    method: 'PUT', 
    url: url, 
    headers: { 
    'Content-Length': stats['size'] 
    } 
}, function (err, res, body) { 
    console.log(body); 
    console.log(res); 
    console.log(err); 
})); 
+0

コードを投稿してください。 –

答えて

1

あなたのURLが正しくありません。これはAppiumテストパッケージを表していますが、APKをアップロードしようとしています。以前の操作のURLを再利用していますか?あらかじめ署名されたURLも一定期間後に期限切れになるため、再利用しないでください。

この作品を作るために、

  1. コールCreateUploadと結果から事前に署名したURLを取得します。
  2. URLに正しいファイルを投稿してください。

私たちはpublished a blog postに従う手順を説明しています。コードサンプルではCLIを使用していますが、nodejに変換するのは簡単です。

+0

あなたのレスポンスありがとうございます。しかし、私は新しい.apkファイルに対して新しいURLを生成しましたが、今度は "エラー:ECONNRESETを読み込み"と表示されます – Coder

+0

ファイルサイズの制限はあるのでしょうか?エラー – Coder

+0

ファイルサイズの上限は4 GBです。接続のリセットには潜在的な原因が多すぎますので、私が提供する単一のソリューションはありません。 AWS Device Farmサービスエンドポイントはus-west-2でホストされているため、us-west-2で実行されているEC2インスタンスからファイルをアップロードしてネットワーク遅延を最小限に抑えることができます。 –

関連する問題