scala S3 client Credentials problems
j-kinyanjui opened this issue · 0 comments
j-kinyanjui commented
This might have been solved before but I check old issues and did not find anything.
I'm configuring an S3 client like so.
implicit val region: Region = Region.apply(current.configuration.getString("s3.region").getOrElse("eu-central-1"))
val credentials: AWSCredentialsProvider = BasicCredentialsProvider(
current.configuration.getString("aws.accessKeyId").get,
current.configuration.getString("aws.secretKey").get
)
val config = new ClientConfiguration()
config.setProtocol(Protocol.HTTP)
implicit val s3: S3 = {
val options: S3ClientOptions = S3ClientOptions.builder().setPathStyleAccess(true).build()
val s3 = S3.apply(config, credentials)
s3.setS3ClientOptions(options)
s3
}
lazy val bucket: Bucket = {
val bucketName: String = current.configuration.getString("s3.bucket").get
s3.bucket(bucketName).get
}
When I try and find the bucket, I get a 403 error. Where I'm I doing anything wrong? The exception is as follows:
com.amazonaws.services.s3.model.AmazonS3Exception: Access Denied (Service: Amazon S3; Status Code: 403; Error Code: AccessDenied; Request ID: xxxxyyyyzzzz; S3 Extended Request ID: xxxxyyyyzzzz, S3 Extended Request ID: xxxxyyyyzzzz
at com.amazonaws.http.AmazonHttpClient$RequestExecutor.handleErrorResponse(AmazonHttpClient.java:1712)
at com.amazonaws.http.AmazonHttpClient$RequestExecutor.executeOneRequest(AmazonHttpClient.java:1367)
at com.amazonaws.http.AmazonHttpClient$RequestExecutor.executeHelper(AmazonHttpClient.java:1113)
at com.amazonaws.http.AmazonHttpClient$RequestExecutor.doExecute(AmazonHttpClient.java:770)
at com.amazonaws.http.AmazonHttpClient$RequestExecutor.executeWithTimer(AmazonHttpClient.java:744)
at com.amazonaws.http.AmazonHttpClient$RequestExecutor.execute(AmazonHttpClient.java:726)
at com.amazonaws.http.AmazonHttpClient$RequestExecutor.access$500(AmazonHttpClient.java:686)
at com.amazonaws.http.AmazonHttpClient$RequestExecutionBuilderImpl.execute(AmazonHttpClient.java:668)
at com.amazonaws.http.AmazonHttpClient.execute(AmazonHttpClient.java:532)
at com.amazonaws.http.AmazonHttpClient.execute(AmazonHttpClient.java:512)
at com.amazonaws.services.s3.AmazonS3Client.invoke(AmazonS3Client.java:4921)
at com.amazonaws.services.s3.AmazonS3Client.invoke(AmazonS3Client.java:4867)
at com.amazonaws.services.s3.AmazonS3Client.invoke(AmazonS3Client.java:4861)
at com.amazonaws.services.s3.AmazonS3Client.listBuckets(AmazonS3Client.java:978)
at com.amazonaws.services.s3.AmazonS3Client.listBuckets(AmazonS3Client.java:984)
at awscala.s3.S3$class.buckets(S3.scala:62)
at awscala.s3.ConfiguredS3Client.buckets(S3.scala:350)
at awscala.s3.S3$class.bucket(S3.scala:64)
at awscala.s3.ConfiguredS3Client.bucket(S3.scala:350)