[英]Amazon S3 SdkClientException while Directory Uploading in Java
我正在使用此代碼在S3上上傳目錄。
TransferManager transferManager = new TransferManager(s3client);
MultipleFileUpload uploaded = transferManager.uploadDirectory(BUCKET_NAME, "DirectoryName", new File(uploadDirectory), true);
將Directory上載到Amazon S3存儲桶時,我收到以下異常
com.amazonaws.SdkClientException: Upload canceled
at com.amazonaws.services.s3.transfer.internal.UploadMonitor.call(UploadMonitor.java:159)
at com.amazonaws.services.s3.transfer.internal.UploadMonitor.call(UploadMonitor.java:47)
at java.util.concurrent.FutureTask.run(FutureTask.java:266)
at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1142)
at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:617)
at java.lang.Thread.run(Thread.java:745)
此異常通常在100次嘗試中發生約10次
注意 - 上面的代碼在具有相同
s3client
對象的多線程環境中執行
非常感謝!
我在Java Amazon Sdk中進行研發時遇到的上述問題的解決方案。 如果您使用相同的AmazonS3Client
而不是為每個線程創建不同的TransferManager
實例,而是與多個線程共享相同的實例。
它不會導致任何問題,因為它是線程安全的對象,問題也解決了。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.