[英]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.