AWS S3 Java SDK: когда фактически начинается загрузка файла - PullRequest
0 голосов
/ 26 апреля 2018

Когда содержимое файла, который я извлекаю, фактически начинает загрузку с S3?

AmazonS3Client.getObject()

S3Object.getContent()

S3ObjectInputStream.read()

Из того, что я могу сказать, это первый, но я не нашел ответа в документах

1 Ответ

0 голосов
/ 27 апреля 2018

Зависит от того, как вы определяете «начать загрузку».

Технически, это getObject(). В противном случае он не сгенерирует исключения, которые он выбрасывает, некоторые из которых обязательно требуют, чтобы с сервисом связались, а загрузка началась (или произошла ошибка или отказано).

Будьте предельно осторожны при использовании этого метода; возвращенный объект Amazon S3 содержит прямой поток данных из HTTP-соединения.

https://docs.aws.amazon.com/AWSJavaSDK/latest/javadoc/com/amazonaws/services/s3/AmazonS3Client.html#getObject-com.amazonaws.services.s3.model.GetObjectRequest-

Загрузка должна быть начата, чтобы поток был доступен. Байты ждут ... но вы сидите в потоке, из которого вы не читали, за пределами заголовков ответов ... поэтому загрузка не будет продолжена, пока вы не начнете читать.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...