Трудно диагностировать вашу конкретную проблему, но у меня была такая же проблема, также в приложении Spring Boot.Причина в том, что Spring Boot (возможно, пакет spring-cloud-starter-aws) создает свою собственную цепочку провайдеров учетных данных, и я поместил туда
@Autowired
private AmazonS3 s3Client;
в контейнер bean-компонента Spring ДО ПЕРЕД моим методом @Beanбыло выполнено:
@Bean
@Primary
public AWSCredentialsProvider buildDefaultAWSCredentialsProvider() {
return new DefaultAWSCredentialsProviderChain();
}
Фактически я поместил оба фрагмента в один и тот же класс @Configuration и не понял, что компонент @Autowired был внедрен из контейнера Spring (который начинается с клиента AmazonS3 и DefaultAWSCredentialsProviderChainучетные данные, созданные Spring Boot) до того, как мой @Bean был создан и вставлен в контейнер Spring.
В любом случае, попробуйте посмотреть, не @Autowired ли вы вводите учетные данные ИЛИ клиент, который использует его в месте, котороевыполняется перед ВАШИМИ учетными данными и ВАШИМ клиентом SNS.