Amazon s3 通过JAVA连接到Amazon S3时出现SignatureDesNotMatch错误
自过去4小时以来,我收到的错误为SignatureDesNotMatch。请检查并让我知道我的代码中缺少什么:Amazon s3 通过JAVA连接到Amazon S3时出现SignatureDesNotMatch错误,amazon-s3,Amazon S3,自过去4小时以来,我收到的错误为SignatureDesNotMatch。请检查并让我知道我的代码中缺少什么: AmazonS3 s3Client = new AmazonS3Client(new ProfileCredentialsProvider()); s3Client.setEndpoint("***my-service-end-point"); s3Client.setRegion("my-region"); java.util.Date expiration = new java.u
AmazonS3 s3Client = new AmazonS3Client(new ProfileCredentialsProvider());
s3Client.setEndpoint("***my-service-end-point");
s3Client.setRegion("my-region");
java.util.Date expiration = new java.util.Date();
long milliSeconds = expiration.getTime();
milliSeconds += 1000 * 60 * 60;
expiration.setTime(milliSeconds);
GeneratePresignedUrlRequest generatePresignedUrlRequest =
new GeneratePresignedUrlRequest(existingBucketName, keyName);
generatePresignedUrlRequest.setMethod(HttpMethod.GET);
generatePresignedUrlRequest.setExpiration(expiration);
URL url = s3Client.generatePresignedUrl(generatePresignedUrlRequest);
System.out.println("s3Client :" + s3Client.getBucketLocation(existingBucketName))
首先尝试在代码中集成最新的aws sdk,如果仍然不起作用,那么我认为您将面临签名版本4身份验证机制的问题。亚马逊的文档表明 ** 亚太地区孟买、亚太地区首尔、欧盟法兰克福和 中国北京地区,Amazon S3仅支持签名版本4。 在所有其他地区,AmazonS3都支持签名版本4和 签名版本2 ** 请查看以下链接:
我希望这将为您提供足够的想法来解决此问题。哪一行会导致错误?url在哪里使用?我为测试创建了url,但在最后一行,即s3Client.getBucketLocationexistingBucketName失败