簡體   English   中英

使用 S3AsyncClient 從 AWS Java SDK 2 中的 GetObjectResponse 獲取 S3Object InputStream?

[英]Get an S3Object InputStream from a GetObjectResponse in AWS Java SDK 2 Using S3AsyncClient?

如何使用 S3AsyncClient 為 getObject 請求創建普通InputStream

AWS JDK 2.0 的S3AsyncClient似乎沒有像 S3Client 同步客戶端那樣返回ResponseInputStream<GetObjectResponse>的函數。

唯一可用的返回類型是CompletableFuture<GetObjectResponse> ,但返回該類型的方法假定數據將轉到本地路徑。

S3AsyncClient s3AsyncClient = ...;


CompletableFuture<GetObjectResponse> response = s3AsyncClient.getObject(
    GetObjectRequest.builder()
            .bucket(bucket)
            .key(key)
            .build(),
    path));    

一個類似的 stackoverflow 項目,但問題和答案都使用同步 S3Client。

提前感謝您的考慮和回復。

下面的代碼將為您提供 InputStream。

ResponseInputStream responseInputStream = s3AsyncClient.getObject(GetObjectRequest.builder()
        .bucket(bucket)
        .key(key)
        .build(),
        AsyncResponseTransformer.toBlockingInputStream())

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM