これは問題なく機能しているように見えますが、JavaDocsでは、setHeaderメソッドは内部使用のみであると記載されています。自分のコードからこのメソッドを呼び出すことで発生する可能性のある問題はありますか?
このやや意外な問題は、その当時すでに再び発生しました。bkirkbriのコメントを参照してください-これが私の返信です:
うーん、私は実際にその制限に気づいていませんでしたが、Expiresを使用したことを思い出してください。私は間違っているかもしれませんが、S3と対話するために他のSDKを頻繁に使用し(たとえば、これを確実にサポートするC#/ Python)、それを混同している可能性があります-コード自体は現在他のsetXYZHeader()メソッドと違いはありません(ObjectMetadata.javaを参照)。したがって、制限は、目に見えない副作用がある場合はそれに基づいています。
これはまだ当てはまるようです。つまり、コードを分析しても、そうでないことを示すものは何もありません。したがって、bkirkbriの結論は、状況を適切に要約しているようです。
特定のヘッダーのみが機能するため、内部および内部で他のヘッダーメソッドによって使用される可能性があります。ObjectMetadataにsetExpiresメソッドを追加する必要があります。これは、独自のメソッドを持たない唯一のヘッダーであるためです。
それ以外は、AWS SDK for Javaチーム自体だけが明確な答えを提供できるのではないかと思います。いつものようにそれぞれのAWSフォーラムで質問するかもしれませんが、最近、移動したGitHubリポジトリでも問題を受け入れています。このようなコード関連の質問に対して、より速く、より明確な結果が得られる可能性があります。