簡體   English   中英

Java AWS S3 SDK2如何執行異步批量操作

[英]Java AWS S3 SDK2 how to perform async bulk operations

我想在 S3 中異步執行批量操作。 出於某種原因,我在 AWS 構建的新 SDK2 客戶端中找不到這樣做的方法。 我目前使用S3AsyncClientputObject方法來上傳文件,但我想分批這樣做以提高性能。 這同樣適用於下載文件。 我已經閱讀了關於分段上傳的信息,但我不明白這是否是我正在尋找的內容,因為我的文件相對較小而且我不需要分段上傳。 我如何執行多文件上傳?

您可以使用S3TransferManager ,它是針對 AWS Java SDK v2 調整TransferManager庫的實現。 S3TransferManager通過使用多個線程提供批量上傳。

請記住,對於 S3,您需要為每個PUT請求付費。 每個文件上傳將構成至少一個 PUT 請求。 即使您使用uploadDirectory中的S3TransferManager之類的東西,您仍然需要為每個文件付費。

我不知道 Amazon S3 中的多文件上傳模式。

另一種方法是壓縮文件並上傳一個大文件,您將受益於分段上傳。 然后,您讓Lambda 函數(由在您的存儲桶中上傳 zip 文件觸發)自動為您解壓縮文件。

可在此處找到替代方案的進一步描述和壓縮和解壓縮策略的代碼示例。

暫無
暫無

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

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