【问题标题】:AmazonS3ClientBuilder not respondingAmazonS3ClientBuilder 没有响应
【发布时间】:2020-01-20 00:20:28
【问题描述】:

我正在尝试将我的对象上传到 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 中

【问题讨论】:

  • 调试应用程序并在它“什么都不做”时暂停它,然后找到你的主线程并检查堆栈跟踪以查看它卡在哪里。
  • @CausingUnderflowsEverywhere 好的,找到了,缺少 jar 文件(joda-time)。
  • 好的,很高兴你修好了。也许你可以发布一个答案来回答你自己的问题,或者觉得最好关闭这个问题。
  • 你能写一个答案让我接受吗?
  • 您能否编辑问题以提供更有用的调试信息,这些信息可以暗示您缺少 jar?是否出现无法加载类的错误?

标签: java amazon-s3 aws-java-sdk


【解决方案1】:

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

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2022-01-19
    • 2013-02-06
    • 2020-06-23
    • 2017-09-25
    • 2013-04-20
    • 2016-10-06
    相关资源
    最近更新 更多