要使用 java SDK 从 S3 下载文件,我们需要执行以下操作 -> 注意 - 多部分下载已关闭。
S3Object s3Object = s3.getObject(getObjectRequest);
S3ObjectInputStream s3ObjectInputStream = s3Object.getObjectContent();
//Write to a file from this stream
当我们调用 getObject 时,SDK 会对该对象进行 GET 调用。此调用仅返回响应的标头。
当我们真正开始从 s3ObjectInputStream 读取时,我们得到了响应正文。但这都是一个 REST 调用。
所以,我很困惑为什么调用首先只返回标题。S3 是如何知道何时开始发送响应正文的?
我们只进行了一次调用,那么我们如何通知 S3 我们现在已经开始从 s3ObjectInputStream 读取。在我们从流中读取之前,实际文件存储在哪里?