该错误通常是由于AWS S3的访问权限不正确所导致的。解决方法如下:
确认AWS S3的访问密钥和访问ID是否正确。
检查设置的访问权限是否正确。可通过以下方法解决该
AmazonS3 s3Client = new AmazonS3Client(new BasicAWSCredentials("accessKey", "secretKey"));
s3Client.setEndpoint("endpoint");
Bucket bucket = s3Client.createBucket("my_bucket");
CreateBucketRequest createBucketRequest = new CreateBucketRequest("my_bucket").withCannedAcl(CannedAccessControlList.Private);
s3Client.createBucket(createBucketRequest);
ObjectMetadata metadata = new ObjectMetadata();
metadata.setContentType("application/pdf");
PutObjectRequest request = new PutObjectRequest(bucketName, key, inputStream, metadata);
s3Client.putObject(request);
s3Client.setObjectAcl(bucketName, key, CannedAccessControlList.PublicRead);
在上述示例代码中,通过AmazonS3的withCannedAcl方法设置了访问权限为“Private”,而需要将其修改为“PublicRead”即可解决此问题。
检查是否已正确设置AWS S3的存储区域(Region)。
检查AWS S3的存储桶(Bucket)名称是否正确。
确认访问的路径名称是否正确。
以上是解决本地Intellij无法访问AWS S3时出现“403访问被拒绝”的错误提示的解决方法。