2017-09-10 49 views
0

我正在使用AWSSDK.S3 version 3.3.10.2,AWSSDK.CORE版本3.3.17.6Amazon S3 TransferUtilityUploadRequest超时不起作用

我试图超时添加到TransferUtility.Upload功能

我跟着文档写在这里:http://docs.aws.amazon.com/sdk-for-net/v2/developer-guide/retries-timeouts.html

这是我的代码:

m_AmazonS3Config.Timeout = TimeSpan.FromMilliseconds(1); 
m_AmazonS3Config.ReadWriteTimeout = TimeSpan.FromMilliseconds(1); 
using (IAmazonS3 s3Client = new AmazonS3Client(m_AmazonS3Config)) 
{ 
    var fileTransferUtility = new TransferUtility(s3Client); 
    var fileTransferUtilityRequest = new TransferUtilityUploadRequest 
    { 
     BucketName = bucketName, 
     Key = key, 
     InputStream = fileStream, 
    }; 

    fileTransferUtility.Upload(fileTransferUtilityRequest); 
} 

我试着上传大文件,超时没有打,为什么呢?

回答

0

AWS v3文档是here。您正在使用v3,但您正在关注v2文档。

此外,您已将超时设置为1毫秒。考虑到大文件,这还不够。尝试设置较大的超时。

var client = new AmazonS3Client(
    new AmazonS3Config 
    { 
    Timeout = TimeSpan.FromSeconds(10),   // Default value is 100 seconds 
    ReadWriteTimeout = TimeSpan.FromSeconds(10), // Default value is 300 seconds 
    MaxErrorRetry = 2        // Default value is 4 retries 
    });