2016-10-28 5 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

파일 크기 제한은 4GB입니다. 연결 재설정에 대한 잠재적 인 원인이 너무 많아서 제공 할 솔루션이 하나도 없습니다. AWS Device Farm 서비스 끝점은 us-west-2에서 호스팅되기 때문에 us-west-2에서 실행되는 EC2 인스턴스에서 파일을 업로드하여 네트워크 대기 시간을 최소화 할 수 있습니다. –

관련 문제