Я пытаюсь записать объект в корзину s3 в моей учетной записи AWS, но это не удается с ошибкой ниже.
com.amazonaws.services.s3.model.AmazonS3Exception: доступ запрещен (Сервис: Amazon S3; код состояния: 403; код ошибки: AccessDenied; идентификатор запроса: 34399CEF4B28B50D; расширенный идентификатор запроса S3:
Я попытался сделать хранилище общедоступным с полным доступом, а затем я смогу написать в него.
Код, который я написал для записи объекта в корзину S3:
......
private final AmazonS3 amazonS3Client;
........
final PutObjectRequest putObjectRequest = new PutObjectRequest(bucketName, s3Key, stream,
metadata);
amazonS3Client.putObject(putObjectRequest);
final URL url = amazonS3Client.getUrl(bucketName, s3Key);
Я строю свой клиент S3 как:
@Configuration
public class AWSConfig {
@Bean
public AmazonS3 amazonS3Client() {
String awsRegion = System.getenv("AWS_REGION");
if (StringUtils.isBlank(awsRegion)) {
awsRegion = Regions.getCurrentRegion().getName();
}
return AmazonS3ClientBuilder.standard()
.withCredentials(new DefaultAWSCredentialsProviderChain())
.withRegion(awsRegion)
.build();
}
}
Пожалуйста, предложите мне, если я что-то упустил, и как я могу исправить ошибку, упомянутую выше.