在Scala中使用Java s3 sdk aws-java-sdk-s3:1.11.542
时,出现“您提供的AWS访问密钥ID在我们的记录中不存在”。
我已验证我可以访问存储桶并运行命令,例如:aws s3 mv s3://{bucket} ./ --recursive
和aws s3 ls s3://{bucket}
。
我对客户端的实现是:
implicit val s3Client: AmazonS3 = AmazonS3ClientBuilder
.standard
.withRegion(new DefaultAwsRegionProviderChain().getRegion)
.withCredentials(new DefaultAWSCredentialsProviderChain)
.build
我也尝试显式使用BasicAWSCredentials
,EnvironmentVariableCredentialsProvider
和ProfileCredentialsProvider
。
编辑:我使用的默认配置文件和okta是一个问题
答案 0 :(得分:0)
您可以使用AWSCredentialsProvider API
Foo
并使用content_type
创建一个implicit val awsCredentialsProvider = new AWSCredentialsProvider {
override def getCredentials = new BasicAWSCredentials(AWSKey, AWSSecret)
override def refresh(): Unit = ???
}
awsCredentialsProvider