Не удается подключиться к AWS S3 из приложения springboot

#amazon-web-services #spring-boot #amazon-s3 #aws-sdk-java

#amazon-веб-сервисы #весенняя загрузка #amazon-s3 #aws-sdk-java

Вопрос:

мы работаем над приложением Spring boot для подключения к AWS S3.

   final AWSCredentials credentials = new BasicAWSCredentials(accessKey, secretKey);


        AmazonS3 s3client = AmazonS3ClientBuilder.standard()
                .withRegion(Regions.US_WEST_2)
                .withCredentials(new AWSStaticCredentialsProvider(credentials))
                .build();
 

при создании самой строки объекта AWSCredentials мы столкнулись с проблемой, приведенной ниже

 java.lang.SecurityException: class "com.amazonaws.auth.BasicAWSCredentials"'s signer information does not match signer information of other classes in the same package
 

мы не поняли, в чем проблема?

итак, кто-нибудь знает, в чем проблема и как ее решить?

Ответ №1:

Существуют учебные пособия AWS, в которых обсуждается, как взаимодействовать с Amazon S3 из приложения Spring boot.

Ваш код — V1, а все текущие учебные пособия AWS — V2. Я рекомендую использовать Java SDK для AWS версии 2.

Вот руководство по AWS, в котором показано, как создать приложение Spring Boot, которое взаимодействует с Amazon S3. В дополнение к S3, в этом примере приложение также использует эти сервисы AWS:

  • Amazon Rekognition
  • Amazon SES
  • AWS Elastic Beanstalk

Чтобы узнать, как использовать AWS SDK для Java V2 для разработки приложения Spring Boot, которое вызывает Amazon S3 и другие службы, см. Этот URL: https://github.com/awsdocs/aws-doc-sdk-examples/tree/master/javav2/usecases/creating_photo_analyzer_app