714d79257a3e6c6cc3290ecc91c03b70d844e5f7
By:
Caashiere

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

September 30, 2017 423 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...

4 Answers
aseemr September 30, 2017
Accepted Answer

*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.

  • 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

    • Which API operation are you calling? All of them are not supported currently by DO, so that could be the issue.

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

Have another answer? Share your knowledge.