Amazon S3 TransferUtilityUploadRequest超时无效

时间:2017-09-10 09:10:23

标签: c# amazon-s3

我正在使用AWSSDK.S3 version 3.3.10.2,AWSSDK.CORE版本3.3.17.6

我正在尝试向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);
}

我尝试上传一个大文件但超时没有命中,为什么会这样?

1 个答案:

答案 0 :(得分: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
  });