29

メモリに直接ダウンロードS3objectJavaて、タスクが完了したときに削除することはできますか?

4

4 に答える 4

54

AWS SDKforJavaおよびApacheCommonsIOをそのまま使用します。

//import org.apache.commons.io.IOUtils

AmazonS3 s3  = new AmazonS3Client(credentials);  // anonymous credentials are possible if this isn't your bucket
S3Object object = s3.getObject("bucket", "key"); 
byte[] byteArray = IOUtils.toByteArray(object.getObjectContent());

「削除する」とはどういう意味かわかりませんがIOUtils、オブジェクトのバイト配列への変換が完了すると、オブジェクトの入力ストリームが閉じられます。s3からオブジェクトを削除したい場合は、次のように簡単に実行できます。

s3.deleteObject("bucket", "key"); 
于 2012-11-01T19:52:20.853 に答える
4

ReponseTransformerAWS JAVA SDK 2 以降では、レスポンスをさまざまなタイプに変換するために使用できます。( javadocを参照)。

以下は、オブジェクトをバイトとして取得する例です

GetObjectRequest request = GetObjectRequest.builder().bucket(bucket).key(key).build()
ResponseBytes<GetObjectResponse> result = bytess3Client.getObject(request, ResponseTransformer.toBytes())

// to get the bytes
result.asByteArray()
于 2020-05-21T16:53:26.130 に答える