2017-05-03 161 views
1

我需要上傳多個大文件(幾GB)到AWS S3服務器。我寫了基本代碼,但它給錯誤 -在.Net(asp.net核心)上傳大文件到aws S3服務器

HTTP Error 502.3 - Bad Gateway 
The specified CGI application encountered an error and the server terminated the process. 

可能是由於超時。 那麼,是否有任何完美的方式來上傳大文件到S3。 我使用下面的代碼 -

TransferUtility fileTransferUtility = new TransferUtility(this._s3Client); 
TransferUtilityUploadRequest fileTransferUtilityRequest = new TransferUtilityUploadRequest 
     { 
     BucketName = s3BucketName, 
     FilePath = filePath, 
     PartSize = 6291456, 
     Key = key, 
     CannedACL = S3CannedACL.PublicRead 
     }; 
fileTransferUtilityRequest.UploadProgressEvent += FileTransferUtilityRequest_UploadProgressEvent; 
fileTransferUtility.Upload(fileTransferUtilityRequest); 
+0

你檢查IIS中的命令行日誌或ASPNET日誌,以確認這是一個超時問題? –

回答

0

您可以指定Timeout參數作爲TransferUtilityUploadRequest的一部分嗎?

如果是這樣你可以使用一個合理的大數目,或者如果你絕望,你可以使用-1爲無限。這顯然不被推薦。

相關文件: http://docs.aws.amazon.com/sdkfornet1/latest/apidocs/html/T_Amazon_S3_Transfer_TransferUtilityUploadRequest.htm

+0

但是TimeOut屬性在TransferUtilityUploadRequest中不可用。 –

+0

@AshishKumar你確定嗎?他們的文檔列出它: http://docs.aws.amazon.com/sdkfornet1/latest/apidocs/html/T_Amazon_S3_Transfer_TransferUtilityUploadRequest.htm – JonE