Estou com o seguinte erro: Erro genérico acontecendo com.amazonaws.services.s3.model.AmazonS3Exception: Access Denied (Service: Amazon S3; Status Code: 403; Error Code: AccessDenied; Request ID: xxxx ......
O código é igual ao que foi passado nos exercícios:
import org.springframework.context.annotation.Bean; import org.springframework.context.annotation.Configuration;
import com.amazonaws.auth.AWSStaticCredentialsProvider; import com.amazonaws.auth.BasicAWSCredentials; import com.amazonaws.services.s3.AmazonS3; import com.amazonaws.services.s3.AmazonS3ClientBuilder;
@Configuration public class AmazonConfiguration {
private static final String ACCESS_KEY="[meuacesso]";
private static final String SECRET_KEY="[minhachave]";
private static final String REGION="us-east-1";
@Bean
public BasicAWSCredentials basicAWSCredentials() {
return new BasicAWSCredentials(ACCESS_KEY, SECRET_KEY);
}
@Bean
public AmazonS3 amazonS3() {
return AmazonS3ClientBuilder.standard().withRegion(REGION)
.withCredentials(new AWSStaticCredentialsProvider(basicAWSCredentials())).build();
}
}
@Component public class FileSaver {
@Autowired
private AmazonS3 amazonS3;
private static final String BUCKET="[meubucket]";
public String write(MultipartFile file) {
try {
amazonS3.putObject(new PutObjectRequest(BUCKET,
file.getOriginalFilename(), file.getInputStream(),null)
.withCannedAcl(CannedAccessControlList.PublicRead));
return "http://s3.amazonaws.com/"+BUCKET+"/"+file.getOriginalFilename();
} catch (IllegalStateException | IOException e) {
throw new RuntimeException(e);
}
}
}