I am trying to implement a simple Java/Scala client to connect to the S3 Service which provided by the OpenStack Swift(it supports S3 API). However the codes seems not working when I am using AWS Java SDK 1.11.176. Could anyone share me some lights?
Thanks!
def listBuckets(config: Config, bucketName: String): Unit = {
val accessKey = "85eb40dxxxxx"
val secretKey = "xxxxxxxxxxxx"
val endPoint = "https://v01.my.company.net:8080"
val credentials = new BasicAWSCredentials(accessKey, secretKey);
val clientConfig = new ClientConfiguration();
clientConfig.setProtocol(Protocol.HTTPS);
val client = AmazonS3ClientBuilder.standard()
.withCredentials(newAWSStaticCredentialsProvider(credentials))
.withClientConfiguration(clientConfig)
.withPathStyleAccessEnabled(true)
.withEndpointConfiguration(new EndpointConfiguration(endPoint, "us-east-1"))
.build();
System.out.println(client.listBuckets())
}
Error is like this:
null (Service: Amazon S3; Status Code: 400; Error Code: InvalidArgument; Request ID: null; S3 Extended Request ID: null) com.amazonaws.services.s3.model.AmazonS3Exception: null (Service: Amazon S3; Status Code: 400; Error Code: InvalidArgument; Request ID: null; S3 Extended Request ID: null), S3 Extended Request ID: null at com.amazonaws.http.AmazonHttpClient$RequestExecutor.handleErrorResponse(AmazonHttpClient.java:1587) at com.amazonaws.http.AmazonHttpClient$RequestExecutor.executeOneRequest(AmazonHttpClient.java:1257) at com.amazonaws.http.AmazonHttpClient$RequestExecutor.executeHelper(AmazonHttpClient.java:1029) at com.amazonaws.http.AmazonHttpClient$RequestExecutor.doExecute(AmazonHttpClient.java:741) at com.amazonaws.http.AmazonHttpClient$RequestExecutor.executeWithTimer(AmazonHttpClient.java:715) at com.amazonaws.http.AmazonHttpClient$RequestExecutor.execute(AmazonHttpClient.java:697) at com.amazonaws.http.AmazonHttpClient$RequestExecutor.access$500(AmazonHttpClient.java:665) at com.amazonaws.http.AmazonHttpClient$RequestExecutionBuilderImpl.execute(AmazonHttpClient.java:647) at com.amazonaws.http.AmazonHttpClient.execute(AmazonHttpClient.java:511) at com.amazonaws.services.s3.AmazonS3Client.invoke(AmazonS3Client.java:4227) at com.amazonaws.services.s3.AmazonS3Client.invoke(AmazonS3Client.java:4174) at com.amazonaws.services.s3.AmazonS3Client.invoke(AmazonS3Client.java:4168) at com.amazonaws.services.s3.AmazonS3Client.listBuckets(AmazonS3Client.java:918) at com.amazonaws.services.s3.AmazonS3Client.listBuckets(AmazonS3Client.java:924)