Question

How to upload file to DO space using JAVA AWS SDK (JAVA AMAZON SDK)?

Posted September 30, 2017 5.1k views
API

Hello guys,
I have a problem with uploading a file to DO spaces using AWS JAVA SDK,
Can someone help me please,

I am getting errors:

Exception in thread “main” com.amazonaws.SdkClientException: Unable to find a region via the region provider chain. Must provide an explicit region in the builder or setup environment to supply a region.

I will be so happy with getting your help…

These answers are provided by our Community. If you find them useful, show some love by clicking the heart. If you run into issues leave a comment, or add your own answer to help others.

×
6 answers
AWSCredentialsProvider doCred = new AWSStaticCredentialsProvider(new BasicAWSCredentials("XXX", "YYY"));        
AmazonS3 doBuckets = AmazonS3ClientBuilder.standard()
                .withCredentials(doCred)
                .withEndpointConfiguration(new EndpointConfiguration("https://nyc3.digitaloceanspaces.com", "nyc3"))
                .build();

I got through connection but then ran into other issues. Opened a tkt with DO, they are investigating.

edited by kamaln7
  • Thanks alot @aseemr ,
    That trick solved the region problem.

    I now face this problem:
    Exception:

    Exception in thread “main” java.lang.UnsupportedOperationException: Client is immutable when created with the builder.

    I have searched different sources about its cause I didn’t get one solution.
    may you halp me please?

    Thanks again @aseemr

This worked for me as well. Thanks.

When i try with v 1.11.232 of the aws-java-sdk-s3 I get the following error

Exception in thread “main” com.amazonaws.SdkClientException: Unable to find a region via the region provider chain. Must provide an explicit region in the builder or setup environment to supply a region.
at com.amazonaws.client.builder.AwsClientBuilder.setRegion(AwsClientBuilder.java:371)
at com.amazonaws.client.builder.AwsClientBuilder.configureMutableProperties(AwsClientBuilder.java:337)
at com.amazonaws.client.builder.AwsSyncClientBuilder.build(AwsSyncClientBuilder.java:46)
at com.amazonaws.services.s3.AmazonS3ClientBuilder.defaultClient(AmazonS3ClientBuilder.java:54)

Someone suggested trying “.withPathStyleAccessEnabled(true)”, but that doesn’t help

can you please share the full source code ?

Try to read this article.

Send Image from Java to DigitalOcean Space (Bucket) using AWS SDK

It’s exactly what you’re looking for.

Submit an Answer