Невозможно загрузить файл в S3 Bucket с помощью aws-java-sdk

У меня есть приложение весенней загрузки, которое загружает файлы в корзину S3. Я получаю следующую ошибку всякий раз, когда приложение пытается загрузить файл. Трассировка стека огромная. Так что я предоставляю только часть этого.

java.lang.IllegalStateException: Socket not created by this factory
at org.apache.http.util.Asserts.check(Asserts.java:34) ~[httpcore-4.4.6.jar:4.4.6]
at org.apache.http.conn.ssl.SSLSocketFactory.isSecure(SSLSocketFactory.java:435) ~[httpclient-4.5.3.jar:4.5.3]
at org.apache.http.impl.conn.DefaultClientConnectionOperator.openConnection(DefaultClientConnectionOperator.java:186) ~[httpclient-4.5.3.jar:4.5.3]

Я использую следующую зависимость

    <dependency>
        <groupId>com.amazonaws</groupId>
        <artifactId>aws-java-sdk</artifactId>
        <version>1.11.123</version>
    </dependency>

Я даже пытался с

    <parent>
        <groupId>org.springframework.boot</groupId>
        <artifactId>spring-boot-starter-parent</artifactId>
        <version>1.5.1.RELEASE</version>
    </parent>
    <dependency>
        <groupId>org.springframework.cloud</groupId>
        <artifactId>spring-cloud-starter-aws</artifactId>
    </dependency>
    <!--<dependency>
        <groupId>org.springframework.cloud</groupId>
        <artifactId>spring-cloud-aws-context</artifactId>
    </dependency>

Но подоконник получает тот же тип ошибки

Я пытался использовать как TransferManager, а также метод putObject() из AmazonS3, но с той же ошибкой.

Приложение работало несколько дней назад, и ошибка начала появляться совсем недавно.

2 ответа

У меня была та же проблема на v1.10.12 SDK, я перешел на v1.11.136, и это решило мою проблему, добавьте код ниже, в ваш файл pom

<!-- AWS S3 Dependencies-->
    <dependency>
        <groupId>com.amazonaws</groupId>
        <artifactId>aws-java-sdk</artifactId>
        <version>1.11.136</version>
    </dependency>
<!-- End of AWS S3 Dependencies -->

Было бы полезно опубликовать больше трассировки стека, чтобы мы могли видеть, в какой точке жизненного цикла SDK генерируется исключение (трассировка стека выше показывает только классы apache). Вы также можете показать, как вы настраиваете клиент S3?

Вы настраиваете SocketFactory? Проверяемый вопрос проверяет, Socket что SocketFactory создано на самом деле SSLSocket если нет - вот где он бомбит - вы можете увидеть это из кода Apache здесь.

Другие вопросы по тегам