簡體   English   中英

在S3中使用加速模式時無法解決主機錯誤

[英]Unable to resolve host error while using accelerate mode in s3

我是Java的Amazon AWS SDK的新手。 我有aws sdk v2.6 for java。 我的問題是,當我使用s3Client.setS3ClientOptions(S3ClientOptions.builder().setAccelerateModeEnabled(true).build());啟用加速模式時s3Client.setS3ClientOptions(S3ClientOptions.builder().setAccelerateModeEnabled(true).build()); 我在上傳文件時遇到異常“無法解析主機“ s3-accelerate.amazonaws.com”:與主機名關聯的地址”。 在sdk的早期版本中,它運行良好。 我不知道如何解決此問題。 有誰能夠幫助我。

使用以下代碼創建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

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM