简体   繁体   English

从 AWS Java SDK 2.0 中的 GetObjectResponse 获取 S3Object

[英]Get an S3Object from a GetObjectResponse in AWS Java SDK 2.0

In AWS Java SDK 1.x, I could get an S3Object from an S3Client like this.在 AWS Java SDK 1.x 中,我可以像这样从S3Client获取S3Object

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

I'm trying to replicate that functionality using AWS Java SDK 2.0 (and end up with an S3Object ), but the closest I can get is a GetObjectResponse , and I can't find any simple method calls to turn the response into an S3Object .我正在尝试使用 AWS Java SDK 2.0 复制该功能(并最终得到S3Object ),但我能得到的最接近的是GetObjectResponse ,我找不到任何简单的方法调用来将响应转换为S3Object

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

How can I get an S3Object from the 2.0 S3Client , or build one from the GetObjectResponse ?我怎样才能得到一个S3Object从2.0 S3Client从,或建立一个GetObjectResponse

use ResponseInputStream.使用响应输入流。 Hope the below code solves your problem.希望下面的代码可以解决您的问题。

GetObjectRequest request = GetObjectRequest.builder()
    .bucket("BucketName")
    .key("key")
    .build();
ResponseInputStream<GetObjectResponse> s3objectResponse = s3Client
    .getObject(request);
BufferedReader reader = new BufferedReader(new InputStreamReader(s3objectResponse));

String line;            
while ((line = reader.readLine()) != null) {            
    System.out.println(line);
}

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM