首页 > 解决方案 > AmazonS3ClientBuilder 没有响应

问题描述

我正在尝试将我的对象上传到 s3 存储桶,但客户端构建器没有回复。

CompletableFuture.runAsync(()->{
        try {
            //runs up to here
            System.out.println("start connection");
            AmazonS3 s3 = AmazonS3ClientBuilder.standard().withRegion(AppConstants.AWS_REGION).build();
            System.out.println("connected");
            //nothing executed below!
            ByteArrayInputStream bais = new ByteArrayInputStream(bytes);
            ObjectMetadata metadata = new ObjectMetadata();
            metadata.setContentType(mimeType);
            metadata.addUserMetadata("x-amz-meta-title", "someTitle");
            metadata.setContentLength(bytes.length);
            PutObjectRequest request = new PutObjectRequest(bucket, fileName, bais , metadata);
            request.setCannedAcl(CannedAccessControlList.BucketOwnerFullControl);
            s3.putObject(request);
        }catch (AmazonServiceException e) {
            //no errors logged
            e.printStackTrace();
        }catch (SdkClientException e) {
            // no errors logged
            e.printStackTrace();
        }
        catch(Exception e) {
           //no errors logged
            e.printStackTrace();
        }
});

服务器正在记录以下内容:

 (ForkJoinPool.commonPool-worker-5) start connection

然后什么也没有发生

PS:我正在使用的库:

aws-java-sdk-core-1.11.482
aws-java-sdk-s3-1.11.482

我在 ~/.aws/credentials 中也有我的凭证文件

标签: javaamazon-s3aws-java-sdk

解决方案


aws-java-sdk内部使用joda-time了丢失且未连接的库,我已将其包含在内并且可以正常工作。


推荐阅读