Невозможно получить доступ к S3 через код Java.[Но может через AWS CLI] - PullRequest
0 голосов
/ 20 сентября 2019

Я не могу получить доступ к S3 через Java Code, но могу через AWS CLI.

Я использую учетные данные из AWS SDK для MINIO

// import statements

public class S3Application {

    private static final AWSCredentials credentials;
    private static String bucketName;

    static {
        //put your accesskey and secretkey here
        credentials = new BasicAWSCredentials(
                "Q3AM3UQ867SPQQA43P2F",
                "zuf+tfteSlswRu7BJ86wekitnifILbZam1KYY3TG"
        );
    }

    public static void main(String[] args) throws IOException {
        //set-up the client

        AmazonS3 s3Client = AmazonS3ClientBuilder
                .standard()
                .withEndpointConfiguration(new AwsClientBuilder.EndpointConfiguration("http://play.min.io:9000","us-east-1"))
                .withCredentials(new AWSStaticCredentialsProvider(credentials))
                .build();

        AWSS3Service awsService = new AWSS3Service(s3Client);


    }

}

Это мой журнал для вышеуказанного кода.

Исключениев потоке "main" com.amazonaws.SdkClientException: невозможно выполнить HTTP-запрос: сброс подключения ... вызвано: java.net.SocketException: сброс подключения ... ... еще 13

Процесс завершен скод выхода 1

1 Ответ

0 голосов
/ 25 сентября 2019

Возможно, вам придется установить для PathStyle доступ к true.https://docs.aws.amazon.com/AWSJavaSDK/latest/javadoc/com/amazonaws/services/s3/AmazonS3Builder.html#withPathStyleAccessEnabled-java.lang.Boolean-

Код, подобный этому, может работать.

// import statements

public class S3Application {

    private static final AWSCredentials credentials;
    private static String bucketName;

    static {
        //put your accesskey and secretkey here
        credentials = new BasicAWSCredentials(
                "Q3AM3UQ867SPQQA43P2F",
                "zuf+tfteSlswRu7BJ86wekitnifILbZam1KYY3TG"
        );
    }

    public static void main(String[] args) throws IOException {
        //set-up the client

        AmazonS3 s3Client = AmazonS3ClientBuilder
                .standard()
                .withEndpointConfiguration(new AwsClientBuilder.EndpointConfiguration("http://play.min.io:9000","us-east-1"))
                .withCredentials(new AWSStaticCredentialsProvider(credentials))
                .withPathStyleAccessEnabled(true)
                .build();

        AWSS3Service awsService = new AWSS3Service(s3Client);


    }

}
...