【问题标题】:Using AWSS3TransferManagerUploadRequest how to set the timeout interval?使用 AWSS3TransferManagerUploadRequest 如何设置超时间隔?
【发布时间】:2014-10-23 14:29:54
【问题描述】:

目前我正在使用适用于 iOS v2.0.6 的 AWS 移动开发工具包并执行上传和下载。 当我传输 8 MB 或更大大小的文件时,我经常收到来自 Amazon 服务的“超时”错误或“网络连接丢失”错误。

请帮我增加超时间隔或如何设置最大重试次数?

这是我发起上传请求的方式:

AWSS3TransferManagerUploadRequest *uploadRequest = [AWSS3TransferManagerUploadRequest new];
[[[AWSS3TransferManager defaultS3TransferManager] upload:uploadRequest] continueWithExecutor:[BFExecutor mainThreadExecutor] withBlock:^id(BFTask *task)

并且还使用默认的 s3 管理器,即,

[AWSS3TransferManager defaultS3TransferManager]

以下是我得到的错误:

User info---{
    NSErrorFailingURLKey = "https://s3.amazonaws.com/bucketname/Multimedia/Audio/20141023/AUDIO_646E98B7-D688-4923-9BEB-1E8CDF233027.caf";
    NSErrorFailingURLStringKey = "https://s3.amazonaws.com/bucketname/Multimedia/Audio/20141023/AUDIO_646E98B7-D688-4923-9BEB-1E8CDF233027.caf";
    NSLocalizedDescription = "The request timed out.";
    NSUnderlyingError = "Error Domain=kCFErrorDomainCFNetwork Code=-1001 \"The request timed out.\" UserInfo=0x16bb3a00 {NSErrorFailingURLKey=https://s3.amazonaws.com/bucketname/Multimedia/Audio/20141023/AUDIO_646E98B7-D688-4923-9BEB-1E8CDF233027.caf, NSErrorFailingURLStringKey=https://s3.amazonaws.com/bucketname/Multimedia/Audio/20141023/AUDIO_646E98B7-D688-4923-9BEB-1E8CDF233027.caf, NSLocalizedDescription=The request timed out.}";
}

问候, 钱德里卡

【问题讨论】:

    标签: ios amazon-web-services timeout


    【解决方案1】:

    AWSServiceConfiguration 有一个名为maxRetryCount 的属性。您可以将其设置为适合您的用例的值。

    此外,最新版本的 SDK 包含许多错误修复,因此请确保尽早更新您的副本。

    【讨论】:

    • Ye Yosuke,我已将 SDK v 升级到 2.0.8 并尝试使用属性 maxRetryCount。但这是如何工作的?意思是,如果我将 maxRetryCount 设置为 3 并且当我遇到错误“超时”时,它会自动尝试传输文件而不抛出错误?
    • 对于超时错误,SDK 应自动重试请求,直至达到maxRetryCount 值。
    猜你喜欢
    • 2023-03-04
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2017-08-28
    • 2014-04-04
    • 2011-11-09
    • 2018-04-04
    • 1970-01-01
    相关资源
    最近更新 更多