首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >无法通过Java代码访问S3。[但可以通过AWS CLI]

无法通过Java代码访问S3。[但可以通过AWS CLI]
EN

Stack Overflow用户
提问于 2019-09-20 05:30:42
回答 1查看 543关注 0票数 0

我不能通过Java访问S3,但可以通过AWS CLI访问。

我正在使用来自适用于MINIO的AWS SDK的凭据

代码语言:javascript
复制
// 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);


    }

}

这是我上面提到的代码的日志。

线程“主”com.amazonaws.SdkClientException中的异常:无法执行HTTP请求:连接重置.原因: java.net.SocketException:连接重置. 13 进程已完成,退出代码为%1

EN

回答 1

Stack Overflow用户

发布于 2019-09-24 22:22:35

您可能必须将PathStyle访问设置为true。https://docs.aws.amazon.com/AWSJavaSDK/latest/javadoc/com/amazonaws/services/s3/AmazonS3Builder.html#withPathStyleAccessEnabled-java.lang.Boolean-

像这样的代码可能有效。

代码语言:javascript
复制
// 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);


    }

}
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/58022293

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档