Java 从s3读取密钥文件时出错-没有从S3ObjectInputStream读取所有字节,正在中止HTTP连接
我在s3上保存了一个密钥文件,并尝试使用Java SDK读取它,然后在后续步骤中使用它来解密其他文件。我的代码如下所示。我正在犯错误。我需要更改什么来修复错误 警告:并非所有字节都从S3ObjectInputStream读取,正在中止HTTP连接。这可能是一个错误,并可能导致次优行为。使用后,通过远程获取或清空输入流,仅请求所需的字节 代码:-Java 从s3读取密钥文件时出错-没有从S3ObjectInputStream读取所有字节,正在中止HTTP连接,java,amazon-web-services,amazon-s3,sdk,Java,Amazon Web Services,Amazon S3,Sdk,我在s3上保存了一个密钥文件,并尝试使用Java SDK读取它,然后在后续步骤中使用它来解密其他文件。我的代码如下所示。我正在犯错误。我需要更改什么来修复错误 警告:并非所有字节都从S3ObjectInputStream读取,正在中止HTTP连接。这可能是一个错误,并可能导致次优行为。使用后,通过远程获取或清空输入流,仅请求所需的字节 代码:- S3Object object = s3Client.getObject(bucket, key); InputStream ret
S3Object object = s3Client.getObject(bucket, key);
InputStream ret = object.getObjectContent();
return ret;
当您使用
object.getObjectContent()
时,您会得到一个要使用的InputStream
——实际实现是S3ObjectInputStream
。不幸的是,如果在您完成读取S3ObjectInputStream之前应用程序中出现了问题,则需要调用abort()方法以避免出现问题
如果您可以将代码更改为返回
S3ObjectInputStream
而不是InputStream
,然后在出现问题时对其调用abort()。当您使用object.getObjectContent()
时,您将得到一个InputStream
,实际实现是S3ObjectInputStream
。不幸的是,如果在您完成读取S3ObjectInputStream之前应用程序中出现了问题,则需要调用abort()方法以避免出现问题
如果您可以将代码更改为返回S3ObjectInputStream
而不是InputStream
,然后在出现问题时对其调用abort()