您提供的AWS Access Key ID在我们的记录中不存在-Java SDK的凭据失败,但CLI失败

时间:2019-04-30 19:36:27

标签: java scala amazon-web-services amazon-s3 sdk

在Scala中使用Java s3 sdk aws-java-sdk-s3:1.11.542时,出现“您提供的AWS访问密钥ID在我们的记录中不存在”。

我已验证我可以访问存储桶并运行命令,例如:aws s3 mv s3://{bucket} ./ --recursiveaws s3 ls s3://{bucket}

我对客户端的实现是:

implicit val s3Client: AmazonS3 = AmazonS3ClientBuilder
      .standard
      .withRegion(new DefaultAwsRegionProviderChain().getRegion)
      .withCredentials(new DefaultAWSCredentialsProviderChain)
      .build

我也尝试显式使用BasicAWSCredentialsEnvironmentVariableCredentialsProviderProfileCredentialsProvider

编辑:我使用的默认配置文件和okta是一个问题

1 个答案:

答案 0 :(得分:0)

您可以使用AWSCredentialsProvider API

Foo

并使用content_type创建一个implicit val awsCredentialsProvider = new AWSCredentialsProvider { override def getCredentials = new BasicAWSCredentials(AWSKey, AWSSecret) override def refresh(): Unit = ??? }

awsCredentialsProvider