aws java sdk ClientExecutionTimeoutException

aws java sdk ClientExecutionTimeoutException

我们在使用以下值时得到 ClientExecutionTimeoutException

 ClientConfiguration config = new ClientConfiguration();
 config.setClientExecutionTimeout(100);
 config.setRequestTimeout(100);

这是在检查存储桶是否存在的健康检查调用中

amazonS3.doesBucketExistV2(bucketName);

有没有人遇到过类似的问题,有什么解决办法。我检查了 POC,如果我将它设置为 400,错误就会消失。使用 aws-java-sdk-s3 v 1.11 和 java 8.

由于超时是以毫秒为单位设置的,您设置了一个非常低的执行和请求超时。

我建议您:

  • 设置为 400 毫秒。
  • 测试您的命令执行需要多长时间:
long startTime = System.currentTimeMillis();
amazonS3.doesBucketExistV2(bucketName);
long endTime = System.currentTimeMillis();
long timeElapsed = endTime - startTime;
System.out.println("Execution time in milliseconds: " + timeElapsed);

  • 如果经过的时间超过 100 毫秒,那么您的代码将失败 100 毫秒,因为它应该是。
  • 根据需要设置超时时间,大功告成。