1
resposta

Erro Genérico - Sem acesso

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);
    }
}

}

1 resposta

Tenta colocar o access key, secret key e o bucket direto no código. Mas não mostra pra gente.

Quer mergulhar em tecnologia e aprendizagem?

Receba a newsletter que o nosso CEO escreve pessoalmente, com insights do mercado de trabalho, ciência e desenvolvimento de software