我們宣布
本文為英文版的機器翻譯版本,如內容有任何歧義或不一致之處,概以英文版為準。
與 AWS 開發的最佳做法 AWS SDK for Java
下列最佳作法可協助您避免在開發 AWS 應用程式時發生問題或發生問題 AWS SDK for Java。我們已經按服務組織了最佳實踐。
S3
避免 ResetExceptions
當您使用串流 (透 Amazon S3 過用AmazonS3
戶端或TransferManager
) 將物件上傳至時,可能會遇到網路連線或逾時問題。根據預設,
AWS SDK for Java 嘗試重試失敗的傳輸,方法是在傳輸開始之前標記輸入串流,然後在重試之前將其重設。
如果串流不支援標記和重設,當發生暫ResetException時性失敗並啟用重試時,SDK 會擲回一個。
最佳做法
建議您使用支援標記和重設作業的串流。
避免 a 的最可靠的方法ResetException是通過使用 File
如果串流不是FileInputStreamsetReadLimit
方法來設定標記限制RequestClientOptions。其預設值為 128 KB。將讀取限制值設置為大於流大小的一個字節將可靠地避免 ResetException.
例如,如果串流的預期大小上限為 100,000 個位元組,請將讀取限制設定為 100,001 (100,000 + 1) 位元組。標記和重置將始終適用於 100,000 個字節或更少。請注意,這可能會導致某些流緩衝該字節數量到內存中。