AmazonS3Exception во время putObject с ACL Bucket Owner Настройка полного контроля - PullRequest
0 голосов
/ 11 декабря 2018

Я хочу включить передачу данных между счетами через мою программу.Моя лямбда-функция в учетной записи AWS A записывает файлы .txt в корзину s3, принадлежащую учетной записи AWS B. Однако пользователи учетной записи B не могут прочитать файл, отброшенный лямбда-функцией учетной записи A.

Поэтому я попытался настроить ACL дляBucketOwnerFullControl.Вот мой код.

  PutObjectRequest putObjectRequest = new PutObjectRequest(bucketName, fileName, strData)
        .withCannedAcl(CannedAccessControlList.BucketOwnerFullControl);
   amazonS3.putObject(putObjectRequest);

Это выдает следующую ошибку:

com.amazonaws.services.s3.model.AmazonS3Exception: The request signature we calculated does not match the signature you provided. Check your key and signing method. (Service: Amazon S3; Status Code: 403; Error Code: SignatureDoesNotMatch; 

Моя предыдущая запись работала нормально.

amazonS3.putObject(bucketName, fileName, strData);

Устанавливает CannedAclТребуется какой-то конкретный параметр для создания S3client?

Вот так я сейчас инициализирую свой клиент S3.

 this.amazonS3 = AmazonS3ClientBuilder.standard().withForceGlobalBucketAccessEnabled(true).build();

Спасибо.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...