Получить S3Object из GetObjectResponse в AWS Java SDK 2.0 - PullRequest
0 голосов
/ 30 января 2019

В AWS Java SDK 1.x я мог получить S3Object от S3Client, как это.

S3Object obj = mS3Client.getObject(pBucket, pKey);

Я пытаюсь воспроизвести эту функциональность, используя AWS Java SDK 2.0 (ив итоге получим S3Object), но самое близкое, что я могу получить, это GetObjectResponse, и я не могу найти ни одного простого вызова метода, чтобы превратить ответ в S3Object.

GetObjectResponse response = mS3Client.getObject(
        GetObjectRequest.builder()
                .bucket(pBucket)
                .key(pKey)
                .build())
        .response();

Как я могу получить S3Object из 2.0 S3Client или построить его из GetObjectResponse?

1 Ответ

0 голосов
/ 03 июня 2019

использовать ResponseInputStream.Надеюсь, что приведенный ниже код решит вашу проблему.

 ResponseInputStream<GetObjectResponse> s3objectResponse = s3Client.getObject(GetObjectRequest.builder().bucket("BucketName").key("key").build());
    BufferedReader reader = new BufferedReader(new InputStreamReader(s3objectResponse));
    String line;            
    while ((line = reader.readLine()) != null) {            
            System.out.println(line);
    }
...