簡體   English   中英

S3大量putObject

[英]S3 Bulk putObject

我正在分析我的Java分布式搜尋器(將已搜尋的文檔存儲在S3中),並且S3插入絕對是瓶頸。 實際上,在足夠多的線程數下,線程將始終從S3獲取超時異常,這是因為S3讀取數據花費的時間太長。 Amazon或另一個庫是否提供了可以更有效地執行此操作的批量putObject函數?

示例代碼:

BUCKET = ...; // S3 bucket definition
AmazonS3 client= ...;

InputStream is = ...; // convert the data into input stream
ObjectMetadata meta = ...; // get metadata
String key = ...;

client.putObject(new PutObjectRequest(BUCKET, key, is, meta));

我尚未將S3與Java一起使用,但AWS確實支持大文件的分段上傳。

http://docs.aws.amazon.com/AmazonS3/latest/dev/uploadobjusingmpu.html

Python的boto庫確實支持此功能。 以前,我曾用它成功上傳過非常大的數據庫備份。

在查看完Java庫的javadocs后,我認為您可能需要使用http://docs.aws.amazon.com/AWSJavaSDK/latest/javadoc/com/amazonaws/services/s3/model/UploadPartRequest.html代替定期請求,您可以進行分段上傳。

暫無
暫無

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

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