#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