Идентификатор ключа доступа AWS, который вы указали, отсутствует в наших записях. Учетные данные не работают для Java SDK, но не для CLI - PullRequest
0 голосов
/ 30 апреля 2019

При использовании Java s3 sdk aws-java-sdk-s3:1.11.542 в Scala я получаю «Идентификатор ключа доступа AWS, который вы указали, не существует в наших записях».

Я подтвердил, что могу получить доступ кКоманды bucket и run, например: 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, которые я использую

1 Ответ

0 голосов
/ 30 апреля 2019

вы можете использовать AWSCredentialsProvider API

implicit val awsCredentialsProvider = new AWSCredentialsProvider {    
          override def getCredentials = new BasicAWSCredentials(AWSKey, AWSSecret)
          override def refresh(): Unit = ??? 
    }

и используйте awsCredentialsProvider для создания AmazonS3ClientBuilder.

implicit val s3Client: AmazonS3 = AmazonS3ClientBuilder
      .standard
      .withCredentials(awsCredentialsProvider)
      .withRegion(new DefaultAwsRegionProviderChain().getRegion)
      .build
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...