这个错误通常是由于AWS Java SDK使用的密钥信息与实际所需的不匹配导致的。以下是一些可能导致该错误的原因和解决方法的示例代码:
BasicAWSCredentials credentials = new BasicAWSCredentials("accessKeyId", "secretAccessKey");
AmazonS3 s3Client = AmazonS3ClientBuilder.standard()
.withCredentials(new AWSStaticCredentialsProvider(credentials))
.build();
AmazonS3 s3Client = AmazonS3ClientBuilder.standard()
.withCredentials(new DefaultAWSCredentialsProviderChain())
.withRegion("us-west-2")
.build();
AmazonS3 s3Client = AmazonS3ClientBuilder.standard()
.withCredentials(new DefaultAWSCredentialsProviderChain())
.withEndpointConfiguration(new EndpointConfiguration("https://s3.amazonaws.com", "us-west-2"))
.build();
GetObjectRequest request = new GetObjectRequest(bucketName, key);
S3Object object = s3Client.getObject(request);
确保您的代码中的这些值与您的实际配置相匹配,并且您拥有正确的访问权限和密钥信息。如果问题仍然存在,请检查您的 AWS 控制台中的访问密钥和权限设置。