从s3读取密钥文件时出错-并非从S3ObjectInputStream读取所有字节,从而中止HTTP连接

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

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

代码:-

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

    InputStream ret  = object.getObjectContent();

    return ret;
luyan8883 回答:从s3读取密钥文件时出错-并非从S3ObjectInputStream读取所有字节,从而中止HTTP连接

使用object.getObjectContent()时会得到InputStream的使用-实际的实现是S3ObjectInputStream。不幸的是,如果在完成阅读S3ObjectInputStream之前应用程序中发生了某些事情,则需要调用abort()方法来避免该问题。

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

本文链接:https://www.f2er.com/3163316.html

大家都在问