Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/android/187.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
AWS Android SDK连接超时和重试_Android_Amazon Web Services_Amazon S3_Android External Storage - Fatal编程技术网

AWS Android SDK连接超时和重试

AWS Android SDK连接超时和重试,android,amazon-web-services,amazon-s3,android-external-storage,Android,Amazon Web Services,Amazon S3,Android External Storage,我一直在使用AWS android sdk处理android应用程序中S3上的文件。用户面临一些问题,其中很少涉及连接超时。在我的应用程序中设置AmazonS3客户端时,我使用以下代码设置超时和重试次数: ClientConfiguration clientConfiguration = new ClientConfiguration(); clientConfiguration.setMaxErrorRetry(4); clientConfiguration.setConnectionTime

我一直在使用AWS android sdk处理android应用程序中S3上的文件。用户面临一些问题,其中很少涉及连接超时。在我的应用程序中设置
AmazonS3
客户端时,我使用以下代码设置超时和重试次数:

ClientConfiguration clientConfiguration = new ClientConfiguration();
clientConfiguration.setMaxErrorRetry(4);
clientConfiguration.setConnectionTimeout(10000); // default is 10 secs
clientConfiguration.setSocketTimeout(15000); // default is 50 secs
无论我读到哪里,它都说
maxrerrretry
只对
失败的可重试请求进行重试。与连接超时和套接字连接超时相关的错误是否也属于此类别?如果没有,该案例的解决方案是什么?我已经找了很长时间了,但没有得到任何明确的答案

另外,我在
TransferListener
回调中遇到了两个特定的异常。有:

  • 无法将对象内容存储到磁盘:读取超时(面临AWS异常的所有用户中有14%面临此异常)
  • 无法将对象内容存储到磁盘:超时(面临AWS异常的所有用户中有17.4%面临此异常)
  • 以上两项对我们来说是最痛苦的。我一直认为,发生这种情况是因为用户设备上没有更多的存储空间。我一直在使用外部存储器中特定于应用程序的目录来存储文件,现在考虑将这些文件移动到缓存中,以便在设备上没有剩余空间时,系统处理文件的清理。假设用户设备上的空间不足,您认为这是一个好的解决方案吗。
    发生上述存储相关异常的其他可能性有哪些?

    此错误发生在SDK中的三个位置,其中两个位置是重要的,适用于此处

    (一)

    (二)

    我怀疑是在(2)中抛出了您案例中的异常。出现这种情况可能有多种原因,存储不可用只是其中之一

    (1) S3对象不存在或S3 bucket/对象没有所需的权限。如果您具有用户访问内容所需的权限,请在AWS S3控制台上进行检查。 (2) 下载过程中可能会出现网络中断。检查整个传输过程中是否有适当的网络


    检查AWS CloudWatch日志,查看日志中是否有任何故障。

    感谢您的回复。S3 bucket对象确实具有所需的权限。该应用程序正在生产中,只有一小部分用户例外。如果问题仍然存在,你能创建一个论坛帖子/GitHub问题,并提供堆栈跟踪和更多关于重现问题的详细信息吗?