在 s3 中使用加速模式时无法解决主机错误
Posted
技术标签:
【中文标题】在 s3 中使用加速模式时无法解决主机错误【英文标题】:Unable to resolve host error while using accelerate mode in s3 【发布时间】:2018-04-15 07:48:22 【问题描述】:我是亚马逊 aws sdk for java 的新手。我有用于 java 的 aws sdk v2.6。我的问题是当我使用启用加速模式时
s3Client.setS3ClientOptions(S3ClientOptions.builder().setAccelerateModeEnabled(true).build());
上传文件时出现异常“无法解析主机“s3-accelerate.amazonaws.com”:没有与主机名关联的地址”。它在以前版本的 sdk 中运行良好。我不知道如何解决这个问题。谁能帮帮我。
【问题讨论】:
【参考方案1】:使用以下代码创建 AmazonS3Client 解决了我的问题,
final CountDownLatch countDownLatch = new CountDownLatch(1);
ClientConfiguration configuration = new ClientConfiguration();
configuration.setMaxErrorRetry(3);
configuration.setConnectionTimeout(501000);
configuration.setSocketTimeout(501000);
configuration.setProtocol(Protocol.HTTP);
sS3Client = new AmazonS3Client(AWSMobileClient.getInstance().getCredentialsProvider(), configuration);
if (sS3Client == null)
sS3Client.setRegion(Region.getRegion(Regions.US_EAST_1));
sS3Client.setS3ClientOptions(S3ClientOptions.builder().setAccelerateModeEnabled(true).build());
// wrap the call in a thread since we make a network call.
new Thread(new Runnable()
@Override
public void run()
sS3Client.setBucketAccelerateConfiguration(AppConstants.BUCKET_NAME,
new BucketAccelerateConfiguration(BucketAccelerateStatus.Enabled));
countDownLatch.countDown();
).start();
try
countDownLatch.await();
catch (InterruptedException ie)
ie.printStackTrace();
你可以参考这个链接https://github.com/aws/aws-sdk-android/issues/473
【讨论】:
没用。 S3 引发其他错误:com.amazonaws.services.s3.model.AmazonS3Exception:访问被拒绝(服务:Amazon S3;状态代码:403;错误代码:AccessDenied ...)。你有什么想法吗? 请确保已创建存储桶。你可以参考这个链接***.com/questions/28533707/…以上是关于在 s3 中使用加速模式时无法解决主机错误的主要内容,如果未能解决你的问题,请参考以下文章