【问题标题】:Error reading a key file from s3 - Not all bytes were read from the S3ObjectInputStream, aborting HTTP connection从 s3 读取密钥文件时出错 - 并非所有字节都从 S3ObjectInputStream 读取,正在中止 HTTP 连接
【发布时间】:2020-03-01 06:43:31
【问题描述】:

我有一个密钥文件,我保存在 s3 上并尝试使用 Java SDK 读取它并在后续步骤中使用它来解密其他文件。解密代码需要将密钥文件作为 InputStream 传递。我的代码如下所示。我得到以下错误。我需要更改什么来修复错误?

警告:并非所有字节都从 S3ObjectInputStream 中读取,因此中止 HTTP 连接。这可能是一个错误,并可能导致次优行为。通过远程 GET 仅请求您需要的字节或在使用后排出输入流

代码:-

    S3Object object = s3Client.getObject(bucket, key);

    InputStream ret  = object.getObjectContent();

    return ret;

【问题讨论】:

    标签: java amazon-web-services amazon-s3 sdk


    【解决方案1】:

    当您使用object.getObjectContent() 时,您会得到一个可以使用的InputStream - 实际实现是S3ObjectInputStream。不幸的是,如果在您完成读取 S3ObjectInputStream 之前您的应用程序中出现了问题,您需要调用 abort() 方法来避免该问题。

    如果您可以将代码更改为返回 S3ObjectInputStream 而不是 InputStream,然后在出现问题时对其调用 abort()。

    【讨论】:

      猜你喜欢
      • 2019-08-14
      • 2020-02-07
      • 2018-01-19
      • 2018-06-20
      • 2021-09-19
      • 2020-09-05
      • 1970-01-01
      • 2018-05-13
      • 1970-01-01
      相关资源
      最近更新 更多