AWS SDKをJavaおよびJava 1.8u60 +。
com.amazonaws.services.s3.model.AmazonS3Exception: AWS authentication requires a valid Date or x-amz-date header (Service: Amazon S3; Status Code: 403; Error Code: AccessDenied; Request ID: 41C359C079CBAFCF)
at com.amazonaws.http.AmazonHttpClient.handleErrorResponse(AmazonHttpClient.Java:1182) ~[aws-Java-sdk-core-1.10.10.jar:na]
at com.amazonaws.http.AmazonHttpClient.executeOneRequest(AmazonHttpClient.Java:770) ~[aws-Java-sdk-core-1.10.10.jar:na]
at com.amazonaws.http.AmazonHttpClient.executeHelper(AmazonHttpClient.Java:489) ~[aws-Java-sdk-core-1.10.10.jar:na]
at com.amazonaws.http.AmazonHttpClient.execute(AmazonHttpClient.Java:310) ~[aws-Java-sdk-core-1.10.10.jar:na]
at com.amazonaws.services.s3.AmazonS3Client.invoke(AmazonS3Client.Java:3608) ~[aws-Java-sdk-s3-1.10.10.jar:na]
at com.amazonaws.services.s3.AmazonS3Client.invoke(AmazonS3Client.Java:3561) ~[aws-Java-sdk-s3-1.10.10.jar:na]
at com.amazonaws.services.s3.AmazonS3Client.listObjects(AmazonS3Client.Java:647) ~[aws-Java-sdk-s3-1.10.10.jar:na]
at com.amazonaws.services.s3.AmazonS3Client.listObjects(AmazonS3Client.Java:632) ~[aws-Java-sdk-s3-1.10.10.jar:na]
これは、JodaTimeとJava 1.8u60以降のバージョン)間のバグが原因です。JodaTimeバージョン2.8.1以降にアップグレードすると問題が解決します。以下のGithubの問題を参照してください。
https://github.com/aws/aws-sdk-Java/issues/484https://github.com/aws/aws-sdk-Java/issues/444
私の知る限り、この問題には3つの解決策があります。
AWSをJava SDKを1.10.1以降に更新します
プレストを使用しながら直面しました。問題はJavaバージョンjdk1.8.0_60をjdk1.8.0_45にダウングレードすると問題が解決します
私は同じ問題に直面しています。私は今解決しています。唯一のことは、Java 1.8u60 +はaws sdk 1.10.10をサポートしていないので、aws sdkバージョン1.11.52を更新することができます..i最新バージョンで解決しました。
また、バージョンをアップグレードするときに、依存関係ツリーの競合に注意してください。私の場合、aws SDKバージョンをアップグレードした後、httpclientとの競合がありました。