Я получаю AccessDeniedException
от AWS PHP SDK, когда пытаюсь поместить объект в ведро S3 с использованием Laravel. Я сконфигурировал ключ, секрет и область в application/config/packages/aws/aws-sdk-php-laravel/config.php
. Затем я пытаюсь выполнить простой putObject используя следующий код:AWS AccessDeniedException с Laravel для S3
try {
AWS::get('s3')->putObject(array(
'Bucket' => Config::get('settings.AWS_BUCKET'),
'Key' => 'hello_.txt',
'Body' => 'hi',
'ACL' => 'public-read'
));
return 'great success';
} catch (Exception $e) {
return $e;
}
, который, как вы можете ожидать от моего Задавая этот вопрос, чтобы начать с, терпит неудачу и возвращает что-то вроде этого (с запросом ID меняющегося каждый раз) :
Aws\S3\Exception\AccessDeniedException: AWS Error Code: AccessDenied, Status Code: 403, AWS Request ID: CA0E8181A5F2D740, AWS Error Type: client, AWS Error Message: Access Denied, User-Agent: aws-sdk-php2/2.7.20 Guzzle/3.9.2 curl/7.40.0 PHP/5.4.37 Laravel/4.2.17 L4MOD/1.1.0
Из того, что я могу сказать, мне отказывают в доступе к ведру. Если я изменю ключ или секрет, я получаю InvalidAccessKeyIdException
и SignatureDoesNotMatchException
соответственно. Что мне здесь не хватает?